[MCU] 串口助手里面调不出来

[复制链接]
 楼主| chenjunt 发表于 2020-12-8 22:44 | 显示全部楼层 |阅读模式
下面的程序,我下载到实验板子上面,可是在串口助手里面调不出来啊,求大侠解救~

#include <msp430.h>

int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P3SEL = BIT3+BIT4;                        // P3.4,5 = USCI_A0 TXD/RXD
  UCA0CTL1 |= UCSWRST;                      // **Put state machine in reset**
  UCA0CTL1 |= UCSSEL_2;                     // SMCLK  选择时钟源
  UCA0BR0 = 6;                              // 1MHz 9600 (see User's Guide)
  UCA0BR1 = 0;                              // 1MHz 9600
  UCA0MCTL = UCBRS_0 + UCBRF_13 + UCOS16;   // Modln UCBRSx=0, UCBRFx=0,
                                            // over sampling
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  UCA0IE |= UCRXIE;                         // Enable USCI_A0 RX interrupt

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

// Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
  switch(__even_in_range(UCA0IV,4))
  {
  case 0:break;                             // Vector 0 - no interrupt
  case 2:                                   // Vector 2 - RXIFG
    while (!(UCA0IFG&UCTXIFG));             // USCI_A0 TX buffer ready?
    UCA0TXBUF = UCA0RXBUF;                  // TX -> RXed character
    break;
  case 4:break;                             // Vector 4 - TXIFG
  default: break;
  }
}
renyaq 发表于 2020-12-8 22:47 | 显示全部楼层
用其他程序试下
 楼主| chenjunt 发表于 2020-12-8 22:52 | 显示全部楼层
试了,发现无论哪个程序,用串口调试时,接收到的都是05 92 00 00 04 80 FE ED
ousj 发表于 2020-12-8 23:00 | 显示全部楼层
难道是我用的串口助手不对吗?
zyf部长 发表于 2020-12-8 23:05 | 显示全部楼层
那你这个单片机的主频多大呢?
supernan 发表于 2020-12-8 23:09 | 显示全部楼层
注意下主频的频率的,不然你配置的是9600的波特率,实际出来的就可能不是的了
 楼主| chenjunt 发表于 2020-12-8 23:12 | 显示全部楼层
型号是MSP430F5529
 楼主| chenjunt 发表于 2020-12-8 23:20 | 显示全部楼层
在哪里找单片机主频频率,有资料吗?给我发一份吧,谢谢了,
tian111 发表于 2020-12-8 23:23 | 显示全部楼层

主频一般在系统初始化时候做的
zwll 发表于 2020-12-8 23:27 | 显示全部楼层
先用示波器看看,收到的波形对不对。
xxrs 发表于 2020-12-8 23:30 | 显示全部楼层
如果你选择的是外部晶振,那你看看外部晶振是多少
 楼主| chenjunt 发表于 2020-12-8 23:34 | 显示全部楼层
应该不是这个问题,这是TI给的例程,不能有错吧!
我的片子是430F5529,选择的例程是:

MSP430F55xx_uscia0_uart_01        USCI_A0, 115200 UART Echo ISR, DCO SMCLK
MSP430F55xx_uscia0_uart_02        USCI_A0, Ultra-Low Pwr UART 2400 Echo ISR, 32kHz ACLK
MSP430F55xx_uscia0_uart_03        USCI_A0, Ultra-Low Pwr UART 9600 Echo ISR, 32kHz ACLK
MSP430F55xx_uscia0_uart_04        USCI_A0, 9600 UART, SMCLK, LPM0, Echo with over-sampling
 楼主| chenjunt 发表于 2020-12-8 23:40 | 显示全部楼层
搞笑的是我把控制控制LED的程序下进去,串口调试助手上还是返回那一串字符
zhanglli 发表于 2020-12-8 23:44 | 显示全部楼层
这个例程都进不去中断?
happy_10 发表于 2020-12-8 23:48 | 显示全部楼层
是板子的问题还是程序的问题
 楼主| chenjunt 发表于 2020-12-8 23:52 | 显示全部楼层
程序仿真的时候,走到 __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled
这一步的时候就不走了,卡在这里,这是为什么 呢?
stly 发表于 2020-12-8 23:55 | 显示全部楼层
在这里进入了低功耗状态
yangxiaor520 发表于 2020-12-9 08:52 | 显示全部楼层
应该还是配置哪里有问题
stly 发表于 2020-12-9 17:44 | 显示全部楼层
建议先检查你msp430的串口配置和串口助手里设置的是否一致
supernan 发表于 2020-12-9 17:48 | 显示全部楼层
估计是串口助手里设置的不对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

7868

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部