STM32解决空闲中断误触发问题.

在用串口传输大量数据时,发现空闲中断误触发

我是在做用串口将大量数据传入MCU这易操作时,发现一帧数据还没发完成,就进如来空闲中断,导致数据不完整,有点数据混乱了。

参考别的博主说法,在1个或1.5个字节时间内没有检测到新的数据,则会触发空闲中断。但是这个空闲检测时间太短了,也没有办法调节,很容易导致误触发空闲中断(在环境噪声干扰多的情况下),这一点不是特别好。

解决办法是降低波特率,降到9600,不会导致误触发空闲中断,但是数据传输会非常慢,接收14KB数据量需要大约13秒的时间,是牺牲了时间换来正确率。

再不然放弃使用空闲中断,轮询判断是否完成所有接收。空闲中断应用到少量数据时是比较合适的,大量数据和高波特率会非常容易接收错误。

相关推荐
涂山苏苏⁠31 分钟前
STM32之RTC
stm32·rtc
清风6666661 小时前
基于STM32单片机的OneNet物联网粉尘烟雾检测系统
stm32·单片机·物联网·毕业设计·课程设计
文火冰糖的硅基工坊3 小时前
[硬件电路-192]:基级与发射极两端的电压超过1.5v可能是什么原因
单片机·嵌入式硬件·系统架构·电路·跨学科融合
源远流长jerry6 小时前
STM32之RTOS移植和使用
stm32·单片机·嵌入式硬件
2301_1472583696 小时前
STM32 单片机开发 - SPI 总线
单片机·嵌入式硬件
范纹杉想快点毕业13 小时前
ZYNQ PS 端 UART 接收数据数据帧(初学者友好版)嵌入式编程 C语言 c++ 软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·51单片机
方圆工作室13 小时前
51单片机驱动数码管
单片机·嵌入式硬件·51单片机
乔宕一14 小时前
stm32 链接脚本没有 .gcc_except_table 段也能支持 C++ 异常
c++·stm32·嵌入式硬件
范纹杉想快点毕业15 小时前
STM32 串口接收数据包(自定义帧头帧尾)
stm32·单片机·嵌入式硬件
茯苓gao15 小时前
STM32G4 电流环闭环
笔记·stm32·单片机·嵌入式硬件·学习