?? main.c
字號:
#include <msp430x14x.h>
#define uint unsigned int
#define uchar unsigned char
void int_clk()
{
uchar i;
BCSCTL1&=~XT2OFF; //打開XT振蕩器
BCSCTL2|=SELM1+SELS;//MCLK 8M and SMCLK 1M
do
{
IFG1 &= ~OFIFG; //清除振蕩錯誤標志
for(i = 0; i < 100; i++)
_NOP(); //延時等待
}
while ((IFG1 & OFIFG) != 0); //如果標志為1繼續循環等待
IFG1&=~OFIFG;
}
int_usart()
{
U0CTL|=SWRST;//復位串口
U0CTL|=CHAR; //8位數據
U0TCTL|=SSEL1;//select SMCLK AS CLK
U0BR0=0Xa0;
U0BR1=0X01;
UMCTL0=0Xc0;//19200
ME1|=UTXE0+URXE0;//使能接收和發送
U0CTL&=~SWRST;//清除串口復位信號
IE1|=URXIE0;//使能接收中斷
P3SEL|=BIT4;
P3SEL|=BIT5;//選擇I/O口使用擴展功能和方向
P3DIR|=BIT4;
}
sent_byte(uchar data)
{
while((IFG1&UTXIFG0)==0);//判斷發送緩沖區是否結束
U0TXBUF=data;
}
#pragma vector=UART0RX_VECTOR
__interrupt void UART0_RX_ISR(void)
{
uchar data=0;
data=U0RXBUF; //讀取接受到的數據并且發送到PC機
sent_byte( data);
}
int main( void )
{
WDTCTL=WDTPW+WDTHOLD;//關閉看門狗
int_clk(); //系統時鐘初始化
int_usart();//初始化串口
_EINT(); //使能中斷
while(1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -