FR4133串口通信问题

2019-07-21 21:02发布

为什么串口通信RS232 仿真正常,MCU工作就会出现乱码,工作一段时间才正常
LPM3模式下,唤醒通信
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
自民
1楼-- · 2019-07-23 08:55
加了_delay_cycles(400);没什么效果
自民
2楼-- · 2019-07-23 13:05
dirtwillfly 发表于 2016-7-12 09:16
觉得是从lpm3状态唤醒后晶振和时钟没稳定下来

如何通过软件判断晶振和时钟稳定下来了?
tongbu2015
3楼-- · 2019-07-23 14:50
这个检查下看有没有其他的中断进行了干扰的。
自民
4楼-- · 2019-07-23 16:38
dirtwillfly 发表于 2016-7-12 09:16
觉得是从lpm3状态唤醒后晶振和时钟没稳定下来

while(1)
        {
        
        __bis_SR_register(LPM3_bits + GIE);   // 进入 LPM3 w/ interrupt        
        WDTCTL = WDTPW + WDTCNTCL + WDTSSEL0 + WDTIS1;  // clear watchdog  4m16s
         if(bWorking_flag)
         {
      …..
     }
   
    #ifdef Comm_RS485
      _DELAY_CYCLES(1000);
         if(bRX_finished)
         {
                        // rs485
                        Spi_uart2_rx_deal(ui8RX_buffer,ui8TX_buffer);
                        bRX_finished = false;
         }
    #endif
        }        

在程序中加了 _DELAY_CYCLES(1000);差不多30秒后,就通讯正常,比原来快了很多
我有点不明白,平常串口始终在接收状态,一有信号来,就唤醒,晶振和时钟如何稳定下来,延时一小也就对发送启作用
dirtwillfly
5楼-- · 2019-07-23 18:33
 精彩回答 2  元偷偷看……
Rollo
6楼-- · 2019-07-23 21:41
从lpm3状态唤醒后晶振和时钟没稳定下来

一周热门 更多>