2021-07-19 09:50发布
各位专家号,我在使用stm32的两个串口同时进行数据收发出现了丢数据的问题,目前处理方式是两个串口接收使用DMA+空闲中断方式,发送使用轮询发送方式,接收数据之后两个串口的数据分别放入两个不同的队列,再出队进行发送。目前还是会丢数据,不知道有什么方法可以不丢数据?
没遇到过丢数据的情况,若是互相通信,可加入校验、应答、重发等机制。
串口是有线通信,没遇到过丢包的问题。如果你的程序丢数据,请仔细检查你的程序逻辑。
发送都丢失数据那只能说你的代码太差了,发送是你自己主动操作的,接收是被动的,丢数据还可以理解
重点检查一下程序,首先接收数据是否完整, 另外发送也可以使用DMA的, 或者 中断+FIFO
透传,串口转串口,有些好奇,那不是有些多余吗?这个丢失数据,是队列满了吧。
最多设置5个标签!
没遇到过丢数据的情况,若是互相通信,可加入校验、应答、重发等机制。
串口是有线通信,没遇到过丢包的问题。如果你的程序丢数据,请仔细检查你的程序逻辑。
发送都丢失数据那只能说你的代码太差了,发送是你自己主动操作的,接收是被动的,丢数据还可以理解
重点检查一下程序,首先接收数据是否完整, 另外发送也可以使用DMA的, 或者 中断+FIFO
透传,串口转串口,有些好奇,那不是有些多余吗?
这个丢失数据,是队列满了吧。
一周热门 更多>