打印
[STM32F1]

STM32串口溢出中断问题

[复制链接]
楼主: ccook11
手机看帖
扫描二维码
随时随地手机跟帖
41
loutin| | 2025-4-10 22:09 | 只看该作者 回帖奖励 |倒序浏览
将接收到的数据暂存到 RAM 中,避免因处理延迟导致溢出。

使用特权

评论回复
42
linfelix| | 2025-4-10 22:52 | 只看该作者
为串口中断分配较高的优先级,避免被其他中断长期抢占。

使用特权

评论回复
43
AIsignel| | 2025-4-11 22:34 | 只看该作者
DMA+空闲中断高效,减轻CPU压力,保证串口通信稳定。

使用特权

评论回复
44
IntelCore| | 2025-4-12 18:03 | 只看该作者
简化代码,减少中断层级,让单片机运行更稳。

使用特权

评论回复
45
kkzz| | 2025-4-12 20:11 | 只看该作者
使用环形缓冲区              

使用特权

评论回复
46
earlmax| | 2025-4-12 20:40 | 只看该作者
负载选择合理的波特率(如115200以下),避免数据过载。

使用特权

评论回复
47
i1mcu| | 2025-4-12 22:06 | 只看该作者
增加数据读取频率,避免缓冲区溢出。

使用特权

评论回复
48
zephyr9| | 2025-4-13 09:57 | 只看该作者
串口中断未被及时处理可能导致数据丢失。确保中断服务程序迅速响应并处理数据。

使用特权

评论回复
49
sesefadou| | 2025-4-13 10:47 | 只看该作者
串口中断被阻塞,数据丢失风险增加。

使用特权

评论回复
50
timfordlare| | 2025-4-13 11:39 | 只看该作者
擦写Flash是一个相对耗时的操作,如果在这个过程中串口接收到了新数据,由于CPU忙于处理Flash擦写,无法及时响应串口中断,也可能导致溢出中断。

使用特权

评论回复
51
elsaflower| | 2025-4-13 12:10 | 只看该作者
可以使用FIFO缓冲区来暂存接收到的数据,以防止数据丢失。

使用特权

评论回复
52
sesefadou| | 2025-4-13 13:07 | 只看该作者
溢出中断的发生会导致数据丢失,如果不进行适当的处理,可能会导致程序死机或其他不可预测的行为

使用特权

评论回复
53
sdCAD| | 2025-4-13 14:00 | 只看该作者
如果串口接收中断被更高优先级的中断打断,且打断时间较长,那么在这段时间内到达的新数据可能会导致溢出中断。同样,如果单片机正在执行耗时的操作,如擦写内部Flash,这也可能导致串口中断无法及时响应,从而引发溢出中断。

使用特权

评论回复
54
hudi008| | 2025-4-13 14:32 | 只看该作者
在擦写单片机内部Flash时,操作时间较长,可能导致串口中断无法及时响应。如果在这段时间内串口接收到新的数据,而上次接收到的数据还没有被读走,也会产生溢出中断。

使用特权

评论回复
55
phoenixwhite| | 2025-4-13 14:52 | 只看该作者
避免在串口通信期间执行 Flash 擦写。

使用特权

评论回复
56
modesty3jonah| | 2025-4-13 15:18 | 只看该作者
优化中断处理逻辑,缩短中断执行时间。

使用特权

评论回复
57
jonas222| | 2025-4-13 15:52 | 只看该作者
擦写 Flash 操作耗时较长(约 10~50 ms),期间无法响应串口中断。

使用特权

评论回复
58
iyoum| | 2025-4-13 16:22 | 只看该作者
提升串口中断优先级,避免被低优先级中断打断。

使用特权

评论回复
59
chenci2013| | 2025-4-13 16:33 | 只看该作者
使用 DMA 接收数据,减少 CPU 干预。

使用特权

评论回复
60
macpherson| | 2025-4-13 17:14 | 只看该作者
串口中断被阻塞,数据丢失风险增加。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则