msp430fr5739 串口程序问题

2019-03-24 12:09发布

  1. #include
  2. unsigned int i;
  3. //unsigned char RXData = 0;
  4. //unsigned char TXData = 0;
  5. unsigned char check = 0;
  6. int main(void)
  7. {
  8.   WDTCTL = WDTPW + WDTHOLD;  
  9.   CSCTL0_H = 0xA5;
  10.   CSCTL1 |= DCOFSEL0 + DCOFSEL1;
  11.   CSCTL2 = SELA_3 + SELS_3 + SELM_3;
  12.   CSCTL3 = DIVA_0 + DIVS_0 + DIVM_0;
  13.   CSCTL4 |= XT1OFF;
  14.   // Configure UART pins
  15.   P2SEL1 |= BIT0 + BIT1;
  16.   P2SEL0 &= ~(BIT0 + BIT1);
  17.   // Configure UART 0
  18.   UCA0CTL1 |= UCSWRST;
  19.   UCA0CTL1 = UCSSEL_1;                      // Set ACLK = 32768 as UCBRCLK
  20.   UCA0BR0 = 53;                              // 9600 baud
  21.   UCA0BR1 = 0;
  22.   UCA0MCTLW |= 0x4900;                      // 32768/9600 - INT(32768/9600)=0.41
  23.                                             // UCBRSx value = 0x53 (See UG)
  24.   UCA0CTL1 &= ~UCSWRST;                     // release from reset
  25.   UCA0IE |= UCRXIE;                         // Enable RX interrupt
  26.   
  27.    __bis_SR_register(LPM0_bits + GIE);      // LPM3 + Enable interrupt
  28. }
  29. // Echo back RXed character, confirm TX buffer is ready first
  30. #pragma vector=USCI_A0_VECTOR
  31. __interrupt void USCI_A0_ISR(void)
  32. {
  33. // switch(__even_in_range(UCA0IV,0x08))
  34. // {
  35. // case 0:break;                             // Vector 0 - no interrupt
  36. // case 2:                                   // Vector 2 - RXIFG
  37.     while (!(UCA0IFG&UCTXIFG));             // USCI_A0 TX buffer ready?
  38.    // UCA0TXBUF = UCA0RXBUF;                  // TX -> RXed character
  39.   UCA0TXBUF = 1;
  40.     //  break;
  41. // case 4:break;                             // Vector 4 - TXIFG
  42. // default: break;  
  43. // }
  44. }
复制代码就想实现串口的收发,始终用的内部时钟(msp-exp430fr5739的板子,没接XT1晶振),看看哪里出错了、? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
小右派
2019-03-24 20:52
 精彩回答 2  元偷偷看……0人看过

一周热门 更多>

相关问题

    相关文章