[STM32H5] RTOS下串口调试输出偶尔卡住,任务调度似乎没问题

[复制链接]
227|10
Uriah 发表于 2025-11-1 07:50 | 显示全部楼层 |阅读模式
系统跑FreeRTOS,串口用DMA发送打印日志,偶尔整串日志发到一半就停了。任务还在跑,就是输出不动,像UART“堵车”了一样。
Clyde011 发表于 2025-11-1 07:52 | 显示全部楼层
我试过改成IT中断方式就不再卡了。
公羊子丹 发表于 2025-11-1 07:53 | 显示全部楼层
我以前遇到过,DMA中断优先级太低。
周半梅 发表于 2025-11-1 07:54 | 显示全部楼层
HAL_UART_Transmit_DMA在高负载下容易出错。
帛灿灿 发表于 2025-11-1 07:56 | 显示全部楼层
是不是log任务堆栈不够?字符串被覆盖了。
童雨竹 发表于 2025-11-1 07:57 | 显示全部楼层
你用mutex保护发送函数了吗?多任务同时发会乱。
万图 发表于 2025-11-1 07:58 | 显示全部楼层
可以打开HAL调试日志看看状态机状态。
Wordsworth 发表于 2025-11-1 08:09 | 显示全部楼层
有的版本HAL库DMA完成回调不触发。
Bblythe 发表于 2025-11-1 08:10 | 显示全部楼层
我建议换成环形缓冲区方案更稳。
Pulitzer 发表于 2025-11-1 08:11 | 显示全部楼层
是不是用了printf?那个函数线程不安全。
 楼主| Uriah 发表于 2025-11-1 08:12 | 显示全部楼层
也可能是DMA残留传输计数没清掉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

6456

帖子

1

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