ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F4] 程序运行一段时间卡死

[复制链接]
538|17
 楼主 | 2018-11-7 11:25 | 显示全部楼层 |阅读模式
本帖最后由 skybbuy 于 2018-11-7 11:30 编辑

如图,遇到个很郁闷的问题,数据采集每20ms进一次中断 ,先进行EF2_OFF;
EF3_OFF;
Timing_usDelay(10);
EF1_ON;
EF4_ON;
过20ms后进行下面操作如此循环
EF1_OFF;
EF4_OFF;
Timing_usDelay(10);
EF2_ON;
EF3_ON;


加上这几个io操作我的程序运行30分钟左右卡死,没有进入HardFault_Handler中断,单纯的卡死,不知道怎么查

不加以上io操作整个程序就不会卡死,不知道怎么去分析,有没有人提供点思路。。
| 2018-11-7 11:46 | 显示全部楼层
打个断点 进行io操作的时候看看是卡在哪里了
| 2018-11-7 12:07 | 显示全部楼层
如果不运行io操作就一直也不卡死吗
| 2018-11-7 12:12 | 显示全部楼层
把除去io操作的不必要的代码屏蔽试试
| 2018-11-7 12:26 | 显示全部楼层
这种还真难查,只能想法每个可疑位置前后设置print打印位置看看最后停在哪儿了
 楼主 | 2018-11-7 12:43 | 显示全部楼层
是delay函数卡死了。提高定时器中断优先级试试。
 楼主 | 2018-11-7 12:44 | 显示全部楼层
观海 发表于 2018-11-7 11:46
打个断点 进行io操作的时候看看是卡在哪里了

是我delay函数卡死了在判断条件了
 楼主 | 2018-11-7 12:45 | 显示全部楼层
heimaojingzhang 发表于 2018-11-7 12:12
把除去io操作的不必要的代码屏蔽试试

是我delay函数卡死了。谢谢了
| 2018-11-7 12:57 | 显示全部楼层
把 其他的都屏蔽 一种一种的试试
| 2018-11-7 13:01 | 显示全部楼层
建议除了io的都屏蔽掉试试
| 2018-11-7 13:37 | 显示全部楼层
把这部分代码屏蔽试试
| 2018-11-7 14:07 | 显示全部楼层
Timing_usDelay估计也是用定时器的不支持重入
| 2018-11-7 14:43 | 显示全部楼层
延时函数增加试试
 楼主 | 2018-11-7 16:19 | 显示全部楼层
mohanwei 发表于 2018-11-7 14:07
Timing_usDelay估计也是用定时器的不支持重入

是的 我现在就是运行一段时间后卡死在Timing_usDelay里面了
| 2018-11-7 16:36 | 显示全部楼层
skybbuy 发表于 2018-11-7 16:19
是的 我现在就是运行一段时间后卡死在Timing_usDelay里面了

明显你在外面还用了这个延时函数

最简单的就是另外写个延时函数,用指令延迟的方式,给定时器中断专用
| 2018-11-7 18:11 | 显示全部楼层
最后是哪儿的问题?
| 2018-11-7 21:53 | 显示全部楼层
设置断点之后,单步调试找找卡在哪里了
| 2018-11-8 12:18 | 显示全部楼层
别用系统的延时函数 用for语句延时
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表