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

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

[复制链接]
529|17
跳转到指定楼层
楼主
本帖最后由 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操作的不必要的代码屏蔽试试
5
| 2018-11-7 12:26 | 只看该作者
这种还真难查,只能想法每个可疑位置前后设置print打印位置看看最后停在哪儿了
6
 楼主 | 2018-11-7 12:43 | 只看该作者
是delay函数卡死了。提高定时器中断优先级试试。
7
 楼主 | 2018-11-7 12:44 | 只看该作者
观海 发表于 2018-11-7 11:46
打个断点 进行io操作的时候看看是卡在哪里了

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

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

是的 我现在就是运行一段时间后卡死在Timing_usDelay里面了
15
| 2018-11-7 16:36 | 只看该作者
skybbuy 发表于 2018-11-7 16:19
是的 我现在就是运行一段时间后卡死在Timing_usDelay里面了

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

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

快速回复

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

论坛热帖

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