ST意法半导体
直播中

石飞鹏

7年用户 995经验值
私信 关注
[问答]

stm32H750使用FreeRTOS偶尔会出现所有线程停止运行的状况怎么解决

STM32H750使用FreeRTOS,偶尔会出现所有线程停止运行的状况(流水指示灯不闪,程序不跑),此时点击触摸屏触发一下串口中断,所有的线程又会恢复运行,从堆栈调用情况看,有点像是串口发送时与串口接收冲突了,但是串口不应该是全双工的吗!不知道是不是Hal库搞得比较复杂带来的Bug,从图上可以看到,经过数次单步运行后程序自动退出了死机状态,同时RXNE标识被清零了(?单步调试触发的中断导致了串口发送状态退出)。





回帖(1)

王岩

2023-8-7 15:43:24
不同任务使用同一个串口发送,当然要保证上一帧发送完成才发送下一帧。可以使用消息队列等方式,将同一个串口的发送函数放到同一个任务中。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分