单片机/MCU论坛
直播中

杨丽

7年用户 1331经验值
私信 关注
[问答]

N9H20K51串口接收中断,数据丢失严重怎么解决?

N9H20K51这个型号的片子,串口1有个16字节的缓冲区,我设置1个字节中断一次,当发送的数据小于16字节时,数据都很正常,当发送大量数据时,数据丢失很严重,请问你们有遇到这样了吗,官方的例程试过了,测试不行!  请教一下问题所在。

回帖(1)

王艳

2024-1-17 15:33:00
如果在发送大量数据时遇到严重的数据丢失问题,可能有以下几个可能的原因和解决方法:

1. 接收中断处理时间过长:如果在接收中断服务程序中存在很多的处理逻辑,可能会导致数据丢失。解决方法是尽量将中断服务程序中的逻辑简化,尽量减少中断服务时间。

2. 缓冲区溢出:如果发送数据的速度大于处理数据的速度,会导致接收缓冲区溢出,从而导致数据丢失。可以尝试增大接收缓冲区的大小,以便容纳更多的数据。

3. 硬件波特率设置错误:请确保发送端和接收端的串口波特率设置一致。如果波特率设置不正确,会导致数据接收错误。

4. 中断优先级设置错误:如果其他中断优先级高于串口中断的优先级,可能会导致串口中断被忽略而发生数据丢失。请确保串口中断的优先级是最高的。

5. 软件缺陷:如果官方提供的例程测试不通过,有可能是软件存在一些缺陷。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分