STM32串口接收中断溢出问题解决(不具有普适性)
- 情况说明
串口通信周期20ms,波特率460800,根据私有协议每包数据需要写入U盘,在这种情况下,串口接收状态机放在滴答定时中断里面(为了写入每包数据的时间戳跟通信周期可以一致)。U盘写函数放在main函数while(1)里。
- 问题描述
串口在接收到几包数据以后,串口没有数据的情况下也会进入中断函数导致主程序不再运行。
- 解决方法
在网上搜索了关键字“串口没有数据却一直进中断函数”发现现象如网上所说,串口在接收数据过多时,会出现串口溢出错误,并进入溢出中断(ORE中断)。错误产生原因以及解决方法按此链接STM32串口接收中断溢出问题解决博主所说尝试后发现并没有解决问题,最终我选择数据处理机制是在中断里接收一个字节处理一个字节,问题解决!!!
- 【stm32应用开发|串口中断异常进入情况分析】后续发现
后来发现还是会出现进中断问题,奇怪啊 !一个串口好的一个串口没好。呵,是ORE中断忘记打开!!!
推荐阅读
- 笔记|如何在Windows11安装安卓子系统()
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- 2021年下半年《信息系统项目管理师》真题
- 个人理解|【C语言基础之类型转换】
- 学习分享|【C语言函数基础】
- 个人理解|【C语言实现井字棋及电脑落子优化】
- Python|蓝桥杯 平面切割 Python
- Python|Python 每日一练 二分查找 搜索旋转排序数组 详解
- 笔记|这是一个关于face_recognition和dlib库的安装(亲测有用,毕竟我代码都写出来了)
- 信令模式与非信令模式