[STM32F4] 用F4的USART1发送,偶尔TXE标志不置位

[复制链接]
539|14
 楼主| Wordsworth 发表于 2025-6-19 07:26 | 显示全部楼层 |阅读模式
串口发送过程中突然就卡住了,看寄存器发现TXE始终是0,是不是进中断太快了?
Clyde011 发表于 2025-6-19 07:29 | 显示全部楼层
TXE和TC不要搞混,逻辑不一样的。
公羊子丹 发表于 2025-6-19 07:30 | 显示全部楼层
是不是中断没打开,TXE一直不更新?
周半梅 发表于 2025-6-19 07:31 | 显示全部楼层
HAL库里得等TXE=1才能写数据,太快了会错。
帛灿灿 发表于 2025-6-19 07:32 | 显示全部楼层
我之前是主循环写得太快,TX缓冲区满了。
童雨竹 发表于 2025-6-19 07:33 | 显示全部楼层
F4的FIFO功能别开,容易导致TXE不准。
万图 发表于 2025-6-19 07:33 | 显示全部楼层
看一下有没有其他中断影响了发送逻辑。
 楼主| Wordsworth 发表于 2025-6-19 07:34 | 显示全部楼层
把波特率调低看看还有没有这问题。
Bblythe 发表于 2025-6-19 07:35 | 显示全部楼层
我用DMA发串口,基本不会卡住。
Pulitzer 发表于 2025-6-19 07:36 | 显示全部楼层
有时候是串口线接地不良,反馈不对。
Uriah 发表于 2025-6-19 07:37 | 显示全部楼层
用while(TXE==0)等一下保险些。
probedog 发表于 2025-6-20 16:54 | 显示全部楼层
中断处理速度过快导致的吧。。
classroom 发表于 2025-6-20 19:55 | 显示全部楼层
可能是在发送函数中未正确清除TC标志位。
flycamelaaa 发表于 2025-6-20 19:55 | 显示全部楼层
硬件连接不稳定?
powerantone 发表于 2025-6-20 20:56 | 显示全部楼层
钟配置不当可能导致标志位异常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

161

主题

6119

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部