打印
[STM32F4]

UART接收中断当字符超过一个时,就出错

[复制链接]
157|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
柴库柴库|  楼主 | 2025-7-1 09:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[size=16.002px]在STM32F401RE板上使用STM32Cube IDE中的HAL库已经实现了UART接收中断。[size=16.002px]接受一个字符时正常接受,当字符超过一个时,就出错,无法处理。

[size=16.002px]这种情况如何处理呢?

使用特权

评论回复
沙发
jobszheng| | 2025-7-1 09:37 | 只看该作者
自己写一份串口接收中断吧

使用特权

评论回复
板凳
qintian0303| | 2025-7-1 11:10 | 只看该作者
通过断点看一下接受的数据过程,看一看是不是接受数组有问题,这个出错是什么错误啊

使用特权

评论回复
地板
probedog| | 2025-7-1 16:05 | 只看该作者
接收缓冲区溢出导致的?

使用特权

评论回复
5
elephant00| | 2025-7-1 16:09 | 只看该作者
RTS/CTS误启用?

使用特权

评论回复
6
duo点| | 2025-7-1 16:56 | 只看该作者
启用全局中断,波特率、数据位、停止位要与发送端一致。禁用硬件流控

使用特权

评论回复
7
classroom| | 2025-7-1 17:05 | 只看该作者
估计是缓冲区未正确初始化或大小不足。

使用特权

评论回复
8
flycamelaaa| | 2025-7-1 18:06 | 只看该作者
中断标志未清除?手动清除USART_SR_RXNE标志。

使用特权

评论回复
9
onlycook| | 2025-7-1 18:42 | 只看该作者
检查UART中断优先级是否合理。

使用特权

评论回复
10
powerantone| | 2025-7-1 19:07 | 只看该作者
中断使能或者是禁用逻辑错误吧。。

使用特权

评论回复
11
stormwind123| | 2025-7-1 20:07 | 只看该作者
HAL_UART_RxCpltCallback未被调用或处理逻辑错误?

使用特权

评论回复
12
jcky001| | 2025-7-1 21:08 | 只看该作者
是否用了HAL提供的环形缓冲区机制?

使用特权

评论回复
13
cr315| | 2025-7-1 23:00 | 只看该作者
波特率不匹配?

使用特权

评论回复
14
wangdezhi| | 2025-7-3 16:28 | 只看该作者
新数据到来时前一个字符未处理完毕

使用特权

评论回复
15
olivem55arlowe| | 2025-7-3 17:39 | 只看该作者
检查并正确配置UART参数              

使用特权

评论回复
16
usysm| | 2025-7-3 18:36 | 只看该作者
环形缓冲区实现错误              

使用特权

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

本版积分规则

32

主题

52

帖子

0

粉丝