求助关于串口1串口2之间互相转发数据乱码的问题

2019-07-25 12:07发布

小弟近日在做项目涉及到将usart1端接收的数据向usart2发送并将usart2端的命令向usart1端转发。目前使用的芯片是STM32F103C8T6,代码是在原子哥的教程源码的基础上修改而来。稍后会在下方贴出。当前的问题是在测试过程中会发生一段时间后(具体时长不得而知)数据格式乱码的问题如下图所示(指令内容本为1,down)。自行检查无果,特附上源码前来寻求帮助。还请懂得小伙伴们不吝赐教。
现象:
无标题.png

消息互传部分的代码如下:

while(1)
        {
                if(USART_RX_STA&0x8000)
                        {                                          
                                len=USART_RX_STA&0X3FFF;       
                                USART_RX_BUF[len]=0;               
                                u2_printf("%s ",USART_RX_BUF);       
                                USART_RX_STA=0;
                                //USART_RX_BUF[]={0};
                        }
                else if(USART2_RX_STA&0X8000)               
                        {
                                rlen=USART2_RX_STA&0X7FFF;       
                                USART2_RX_BUF[rlen]=0;               
                                printf("%s ",USART2_RX_BUF);
                                USART2_RX_STA=0;
                        }
                else
                {
                        times++;
                        if(times%80==0)LED0=!LED0;
                        delay_ms(10);   
                }

                          
        }

通讯板源码.rar (2.22 MB, 下载次数: 168) 2017-11-3 10:00 上传 点击文件名下载附件
源码

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。