G2553开发板与PC机的rs232串口通信

2019-07-21 17:01发布

各路大神,本人MCU小白,近期要用MSP430G2553与PC机进行UART通信,程序是TI的官方例程,但首发的字符对不上,比如在串口助手里输入字符a,显示接受的是7F,输入abcde,显示7F 7F FD FF F5 FF,这是什么原因?
  1. #include  "msp430g2553.h"

  2. void main(void)
  3. {
  4.   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  5.   BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  6.   DCOCTL = CALDCO_1MHZ;
  7.   P1SEL = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  8.   P1SEL2 = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  9.   UCA0CTL1 |= UCSSEL_2;                     // SMCLK
  10.   UCA0BR0 = 104;                            // 1MHz 9600
  11.   UCA0BR1 = 0;                              // 1MHz 9600
  12.   UCA0MCTL = UCBRS0;                        // Modulation UCBRSx = 1
  13.   UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  14.   IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt
  15.   __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled
  16. }

  17. //  Echo back RXed character, confirm TX buffer is ready first
  18. #pragma vector=USCIAB0RX_VECTOR
  19. __interrupt void USCI0RX_ISR(void)
  20. {
  21.   while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
  22.   UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character
  23. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
秋日的书生
1楼-- · 2019-07-21 20:16
以16位格式发送看看
dirtwillfly
2楼-- · 2019-07-21 23:18
dirtwillfly 发表于 2016-7-9 11:09
以16位格式发送看看

是Hex格式吗?我都试过了,波特率还有8N1这些设置都没错,串口助手这个软件也换了两个,结果都一样,我现在只能怀疑是那个usb转串口线的质量问题了
基一一本国策
3楼-- · 2019-07-22 02:42
基一一本国策 发表于 2016-7-11 09:01
是Hex格式吗?我都试过了,波特率还有8N1这些设置都没错,串口助手这个软件也换了两个,结果都一样,我现 ...

换一条试试。
另外,msp430接收到字符串之后,判断一下是否正确,正确就点个led
这样能判断是从上位机到msp430出问题了,还是msp430到上位机出问题了
dirtwillfly
4楼-- · 2019-07-22 04:51
这个是按照ASCII码的进行的么?
angerbird
5楼-- · 2019-07-22 06:32
 精彩回答 2  元偷偷看……
smilingangel
6楼-- · 2019-07-22 11:41
dirtwillfly 发表于 2016-7-9 11:09
以16位格式发送看看

我换了一条线试了,结果还是不行,说明不是usb转串口线的问题,如果连续重复发同样的字符,接收到的是乱码,这是不是能断定是由于串口和单片机之间电平不匹配引起的?(max3232芯片的质量问题?)

一周热门 更多>