一个设备,用485调试线发送请求帧,设备相应回复帧,分两条,一条应答帧1,一条数据帧2,两条间隔半秒左右。
用的原子哥ucosii的串口程序,出现以下情况:1、发送第一次请求帧,keil仿真USART4_RX_BUF列表显示应答帧1,串口没有输出任何信息;
2、发送第二次请求帧,keil仿真USART4_RX_BUF列表显示应答帧2,串口输出遗留在第一次响应发送请求帧的应答帧1;
3、发送第三次请求帧,keil仿真USART4_RX_BUF列表显示应答帧2,串口输出遗留在第二次响应发送请求帧的应答帧2;
4、发送第四次请求帧,keil仿真USART4_RX_BUF列表显示应答帧2,串口输出遗留在第三次响应发送请求帧的应答帧2;
……后续发送都是收到遗留在上一次响应的应答帧2
[img]file:///C:Users3hzzdAppDataRoamingTencentUsers576958796QQWinTempRichOle 9TP{1YCX}8E][CIPVT9X8K.png[/img][img]file:///C:Users3hzzdAppDataRoamingTencentUsers576958796QQWinTempRichOle 9TP{1YCX}8E][CIPVT9X8K.png[/img]
接收两帧数据的话我用DMA解决了,接收错位这个问题有遇到过吗,串口打印输出总是打印存在缓冲区之前的数据。
一周热门 更多>