打印
[STM32U0]

用中断收串口数据,咋有时候少字节?

[复制链接]
451|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Pulitzer|  楼主 | 2025-4-13 07:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是不是进中断太频繁丢数据,或者串口FIFO没配置好

使用特权

评论回复
沙发
Clyde011| | 2025-4-13 07:24 | 只看该作者
试试直接在中断里搬数据,不要等主循环处理。

使用特权

评论回复
板凳
Uriah| | 2025-4-13 07:25 | 只看该作者
我自己加了个接收缓冲区+标志位才稳定下来。

使用特权

评论回复
地板
Pulitzer|  楼主 | 2025-4-13 07:26 | 只看该作者
看看有没有丢失中断情况,用LED闪烁调试下。

使用特权

评论回复
5
Bblythe| | 2025-4-13 07:26 | 只看该作者
收数据的时候记得加timeout判断。

使用特权

评论回复
6
Wordsworth| | 2025-4-13 07:27 | 只看该作者
可以改用DMA试试收数据更稳。

使用特权

评论回复
7
公羊子丹| | 2025-4-13 07:28 | 只看该作者
是不是中断优先级太低被打断了?

使用特权

评论回复
8
周半梅| | 2025-4-13 07:29 | 只看该作者
检查下串口溢出位有没有被置位。

使用特权

评论回复
9
帛灿灿| | 2025-4-13 07:30 | 只看该作者
FIFO深度够吗?试着调大点。

使用特权

评论回复
10
童雨竹| | 2025-4-13 07:30 | 只看该作者
我之前用的是HAL_UART_Receive_IT,有时卡住。

使用特权

评论回复
11
万图| | 2025-4-13 07:31 | 只看该作者
有OS的话要小心任务调度时间。

使用特权

评论回复
12
qintian0303| | 2025-4-13 11:38 | 只看该作者
中断进行接受串口数据少字节得看具体情况,是不是优先级不高被错过了了,是不是没有缓存等等

使用特权

评论回复
13
cr315| | 2025-4-18 11:56 | 只看该作者
通常是 中断处理时间过长造成的。

使用特权

评论回复
14
elephant00| | 2025-4-18 11:58 | 只看该作者
缓冲区溢出?建议增大缓冲区大小。

使用特权

评论回复
15
两只袜子| | 2025-4-18 20:00 | 只看该作者
可能是波特率、数据位、停止位、校验位等配置不匹配。

使用特权

评论回复
16
jcky001| | 2025-4-18 20:56 | 只看该作者
调整中断优先级,如果其他高优先级中断频繁触发,可能导致串口中断被延迟处理。

使用特权

评论回复
17
cr315| | 2025-4-18 22:00 | 只看该作者
如果数据量较大,考虑使用 DMA 接收数据。

使用特权

评论回复
18
xiyaoko2365| | 2025-4-30 23:32 | 只看该作者
如果你在接收到中断后,处理中断的时间过长,可能会导致 串口接收缓冲区 数据未能及时处理,从而丢失数据。

使用特权

评论回复
19
xiyaoko2365| | 2025-4-30 23:32 | 只看该作者
串口接收通常会缓存一定数量的数据,如果在数据到达时,CPU 没有足够的时间来处理每个中断,数据就会被丢弃。

使用特权

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

本版积分规则

61

主题

4550

帖子

0

粉丝