请教各位:使用串口DMA+空闲中断,实现数据通信。
其中发现,产生ORE后(故意压力测试),清除ORE标识;
接下来可能会出现以下问题,不一定每次都复现:
1,第1次通信成功;如发送0x12,0x13,0x14;回复:0x12,0x34,0x56,0x78,0x9a;
2,第2次通信失败;断点调试,发现第二次通信接收到的字符不正确,在发送的数据前,多了几个0x00;
3,第3次通信,及以后通信都成功。
其中第2次通信中,多的0x00个数,是第一次通信回复的字节数;
如果第1次通信回复了5个字节,那接收就多了5个0x00;如果回复的是10个字节,接收就多10个0x00;
请问产生的原因是什么?如何处理能正确接收?谢谢~烦请指教!
|