[求助] MSP430串口收乱码????

neal9431   2015-3-16 20:05 楼主
如题我搭了一个串口电路,下的TI官方例子程序,程序功能是把从电脑发送过来的数据收到后再发还给电脑,程序附下,用SSCOM32串口助手,发现电路一上电(没有点击发送数据)就自动收乱码,点击发送的数据电脑也能收到,不知道怎么回事?我把外接晶振改1M,波特率相应也设置好了,请高手帮帮忙!!!
#include  

void main(void)
{
  volatile unsigned int i;

  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD
  BCSCTL1 |= XTS;                           // ACLK = LFXT1 = HF XTAL

  do
  {
  IFG1 &= ~OFIFG;                           // Clear OSCFault flag
  for (i = 0xFF; i > 0; i--);               // Time for flag to set
  }
  while ((IFG1 & OFIFG));                   // OSCFault flag still set?

  BCSCTL2 |= SELM_3;                        // MCLK = LFXT1 (safe)
  ME2 |= UTXE0 + URXE0;                     // Enabled USART0 TXD/RXD
  UCTL0 |= CHAR;                            // 8-bit character
  UTCTL0 |= SSEL0;                          // UCLK = ACLK
  UBR00 = 0x09;                             // 1MHz 115200
  UBR10 = 0x00;                             // 1MHz 115200
  UMCTL0 = 0x08;                            // 1MHz 115200 modulation
  UCTL0 &= ~SWRST;                          // Initalize USART state machine
  IE2 |= URXIE0;                            // Enabled USART0 RX interrupt

  _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
}


#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
{
  while (!(IFG2 & UTXIFG0));                // USART0 TX buffer ready?
  TXBUF0 = RXBUF0;                          // RXBUF0 to TXBUF0
}

回复评论 (7)

会不会电路出现了干扰
点赞  2015-3-16 23:08
用的什么芯片?
点赞  2015-3-17 09:15
TTL线浮空了吧?
点赞  2015-3-17 09:50
引用: MrKingMCU 发表于 2015-3-17 09:15
用的什么芯片?



F1232
点赞  2015-3-17 22:24
引用: 强仔00001 发表于 2015-3-16 23:08
会不会电路出现了干扰



现在是发55能回收到,发其他数据收到都是F5,
点赞  2015-3-17 22:26
我把电路检查了一下,现在情况是发数据55能回收到,发其他数据都是返回F5
点赞  2015-3-17 22:27
引用: neal9431 发表于 2015-3-17 22:26
现在是发55能回收到,发其他数据收到都是F5,
这问题还真奇葩,估计很多可以是电路干扰把



点赞  2015-3-17 23:32
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复