串口发送和接受问题,请大神们指点迷津啊

2019-08-18 19:59发布

本帖最后由 Blackfyre 于 2017-5-18 18:24 编辑

最近学习串口时遇到的问题 ,请大神们指点迷津啊!!用带缓存数组的接收和发送 ,USART1
有xcom定时发送1234567890,周期是1ms
1>在1ms的时基里检测接收的缓存数组,有数据的话就放到发送缓存数组里,就是程序里USART1_Test()函数;出现的效果如下图: 串口图片1 串口图片1
中间xcom接收回来的数据不对,
2>把USART1_Test()函数放在USART1接收中断里调用就不会出现上面的问题,如下图

串口图片2 串口图片2
3> 如果按1>的情况的换 用串口1接受 发送用串口2也不会出现数据不对的情况
搞不明白为什么会出现数据不对,难道是接受中断和发送中断同时发生或者一个中断被另一个中断打断的原因?
求大神指点啊 ,原因是什么?怎么解决这个问题?
附件是程序工程文件

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