[STM32H7] stm32H750使用FreeRTOS有时死机

[复制链接]
2766|33
 楼主| 两只袜子 发表于 2023-6-16 15:17 | 显示全部楼层 |阅读模式
stm32H750使用FreeRTOS,偶尔会出现所有线程停止运行的状况(流水指示灯不闪,程序不跑),此时点击触摸屏触发一下串口中断,所有的线程又会恢复运行,从堆栈调用情况看,有点像是串口发送时与串口接收冲突了,但是串口不应该是全双工的吗!不知道是不是Hal库搞得比较复杂带来的Bug,从图上可以看到,经过数次单步运行后程序自动退出了死机状态,同时RXNE标识被清零了(?单步调试触发的中断导致了串口发送状态退出)。
Undshing 发表于 2023-6-16 22:59 | 显示全部楼层
是不是用的阻塞或者DMA方式实现的
LLGTR 发表于 2023-6-17 13:18 | 显示全部楼层
有可能是中断的问题,要不是就是栈溢出。
芯路例程 发表于 2023-6-17 13:19 | 显示全部楼层
你串口用到中断了吗?
AloneKaven 发表于 2023-6-17 22:39 | 显示全部楼层
是不是DMA啊
Jacquetry 发表于 2023-6-18 23:04 | 显示全部楼层
用的什么方式实现的啊?
三生万物 发表于 2023-6-22 21:53 | 显示全部楼层
触摸屏触发一下就能好使?
淡漠安然 发表于 2023-6-22 23:16 | 显示全部楼层
对哦,你仿真跟踪一下呗,看看程序在哪儿卡住了

江河千里 发表于 2023-6-23 01:13 | 显示全部楼层
按理来说,冲突之后,直接死机啊,你触摸能好使?

别乱了阵脚 发表于 2023-6-23 03:13 | 显示全部楼层
你这个BUG有点意思啊,哈哈

冰春彩落下 发表于 2023-6-23 07:11 | 显示全部楼层
怎么单步运行的时候会退出死机状态呢?

暖了夏天蓝了海 发表于 2023-6-23 07:18 | 显示全部楼层
你可以加优先级啥的吧,就是让串口不冲突呗

远山寻你 发表于 2023-6-23 11:09 | 显示全部楼层
这个按理来说发送是顺序,接收是中断,咋能冲突啊

光辉梦境 发表于 2023-6-23 19:22 | 显示全部楼层
你这估计是中断逻辑这块处理的不对吧

夜阑风雨 发表于 2023-6-23 21:57 | 显示全部楼层
你是调试的时候发现这样?还是程序跑着跑着就这样?

一秒落纱 发表于 2023-6-23 23:32 | 显示全部楼层
我觉得如果要是溢出或者冲突,都不能再按触摸屏就好使,触摸都得嘎的

ColeYao 发表于 2023-6-25 16:59 | 显示全部楼层
A线程串口中断发送期间切换到B线程开始串口中断发送,按照FreeRTOS的建议,如果一个串口有多个发送线程,那么串口发送期间要关中断或关线程,避免相互干扰。
Uriah 发表于 2024-2-1 07:15 | 显示全部楼层

作为功率开关管和整流器的散热部分
帛灿灿 发表于 2024-2-1 09:11 | 显示全部楼层

在主要开关电源拓扑中主要的电流环路
Bblythe 发表于 2024-2-1 10:14 | 显示全部楼层

每条大电流的地线要短而宽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

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