STM32同时使用两个串口进行数据收发时数据丢包的问题

2021-07-19 09:50发布

各位专家号,我在使用stm32的两个串口同时进行数据收发出现了丢数据的问题,目前处理方式是两个串口接收使用DMA+空闲中断方式,发送使用轮询发送方式,接收数据之后两个串口的数据分别放入两个不同的队列,再出队进行发送。目前还是会丢数据,不知道有什么方法可以不丢数据?


5条回答
qqinly
1楼 · 2021-07-20 08:16.采纳回答

没遇到过丢数据的情况,若是互相通信,可加入校验、应答、重发等机制。

生而为人
2楼-- · 2021-07-19 16:56

串口是有线通信,没遇到过丢包的问题。如果你的程序丢数据,请仔细检查你的程序逻辑。

shenlan202
3楼-- · 2021-07-20 08:23

发送都丢失数据那只能说你的代码太差了,发送是你自己主动操作的,接收是被动的,丢数据还可以理解 

李春明
4楼-- · 2021-07-20 17:18

重点检查一下程序,首先接收数据是否完整, 另外发送也可以使用DMA的, 或者 中断+FIFO

Ericsson11
5楼-- · 2021-07-20 17:19

透传,串口转串口,有些好奇,那不是有些多余吗?
这个丢失数据,是队列满了吧。

一周热门 更多>