想实现串口调试助手回显数据,但是无法回显,麻烦各位大牛帮忙看一下程序哪有问题

2019-07-15 10:16发布

#include  "msp430g2553.h"

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
   
  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  DCOCTL = CALDCO_1MHZ;
   
  P1SEL = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  P1SEL2 = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
   
  UCA0CTL1 |= UCSSEL_2;                     // SMCLK
  UCA0BR0 = 104;                            // 1MHz 9600
  UCA0BR1 = 0;                              // 1MHz 9600
   
  UCA0MCTL = UCBRS0;                        // Modulation UCBRSx = 1
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt

  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled
}

//  Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
  while (!(IFG2&UCA0TXIFG));                // 发送中断标志检测,每次发送后都要检测
                                            //直到发送完成,才可发送下个字节的数据
  UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character
}





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
人中狼
1楼-- · 2019-07-15 19:38
那可以先调试发送数据部分,随意发送到串口调试助手,看是调试助手否能正确接收到。可以测试波特率等参数。
等发送正确了,如果还不能回传,那就是接收的问题了
WHILTE
2楼-- · 2019-07-16 00:08
人中狼 发表于 2017-7-12 13:34
那可以先调试发送数据部分,随意发送到串口调试助手,看是调试助手否能正确接收到。可以测试波特率等参数。
等发送正确了,如果还不能回传,那就是接收的问题了

我用官方的例程跑 ,能把程序烧进去,但是串口调试助手还是不能回显
人中狼
3楼-- · 2019-07-16 05:19
串口通讯有多个参数,如波特率,数据位,有无校验等等,必须设置正确,串口调试助手最好设置成十六进制发送和接收
WHILTE
4楼-- · 2019-07-16 06:44
 精彩回答 2  元偷偷看……
WHILTE
5楼-- · 2019-07-16 12:08
人中狼 发表于 2017-7-18 15:21
串口通讯有多个参数,如波特率,数据位,有无校验等等,必须设置正确,串口调试助手最好设置成十六进制发送和接收

好像单独发数据给串口调试助手,助手也收不到任何数据
人中狼
6楼-- · 2019-07-16 16:11
还是先测试单片机发送数据到串口调试助手,这样可以测试参数是否正确,包括程序里的波特率设置等

一周热门 更多>