stm32程序运行一段时间就会卡死
如图,遇到个很郁闷的问题,数据采集每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操作整个程序就不会卡死,不知道怎么去分析,有没有人提供点思路
单片机死机,可以开启看门狗的。 程序有bug了。 先看看。。感谢分享。。。。 中断里面Delay??? 如果这是一个中断函数内容,那你只适合中午写代码,因为早晚会死。{:sweat:} 是不是超出数组的范围了呢? 这个软件重启不可以的吗? 我怀疑是不是在延时函数那卡死的啊 楼主的这个代码是放在什么位置执行的呢 是否死机跟测试流程有关 跟代码的执行位置及顺序都有关系 中断函数里边怎么能添加延时函数呢 这是很不好的代码 建议楼主重新规划一下代码的结构 明显这么写有问题 最好把这段代码单独建立一个函数 然后再中断中置位来间接调用它 调试看一下,感觉这是硬件问题。 软件看着挺简单的,硬件用的是开发板吗? 有没可能是延时函数获取滴答定时器的时间?然后滴答定时器溢出了? 楼主问题定位清楚了吗? 可能是使能了中断,但是没有写中断入口函数。中断进来找不到对应的中断入口函数,就会卡死在这里。 代码是否有错误或问题,例如无限循环