程序死机的情况
程序卡死在B.处,一般都是有中断没有处理,导致程序进入中断后无法跳出,仔细检查下相关中断的配置和处理函数,找出错误即可。
STM32出现硬件错误可能有以下原因:
(1)、数组越界操作;
(2)、内存溢出,访问越界;
(3)、堆栈溢出,程序跑飞;
(4)、中断处理错误;
STM32硬件错误HardFault_Handler的处理方法:

在硬件中断函数HardFault_Handler里的while(1)处打调试断点,程序执行到断点处时点击“STOP”停止仿真。
在Keil菜单栏点击“View”——“Call Stack Window”弹出“Call Stack + Locals”对话框。然后在对话框中右键选择“Show Caller Code”,就会跳转到出错之前的函数处,仔细查看这部分函数被调用或者数组内存使用情况。


浙公网安备 33010602011771号