其中,单片机接收电脑发送的数据,然后发送给电脑
#include "msp430x14x.h" #define uchar unsigned char uchar DATA[]="hello recieved over!"; void main() { // Stop watchdog timer to prevent time out reset uchar j; WDTCTL = WDTPW + WDTHOLD; //使用外部高频晶体振荡器 BCSCTL1&=~XT2OFF; do{ IFG1&=~OFIFG; for(j=0XFF;j>0;j--); }while((IFG1&OFIFG)); BCSCTL2|=SELM_2; P3DIR|=BIT4; P3DIR&=~BIT5; P3SEL|=BIT4+BIT5; ME1 |= UTXE0 + URXE0; // 使能USART0收发 UCTL0 |= CHAR; // 8-bit 数据,一位停止位 UTCTL0 |= SSEL0; // 选择时钟,UCLK = ACLK,32768 UBR00 = 0x03; // 32k/9600 UBR10 = 0x00; // UMCTL0 = 0x4a; // Modulation UCTL0 &= ~SWRST; // 初始化UART0状态机,一般要设置好串口之后才复位 IE1 |= URXIE0; // 使能接收中断 _EINT(); while(1); } #pragma vector = UART0RX_VECTOR __interrupt void UART0_RXISR(void) { // uchar i; TXBUF0=RXBUF0;//将接收到的数据发出去 while((UTCTL0&0X01)==0);//等待数据发送完毕 }
|