一、单片机死机原因
a、变量溢出:比如数组定义小,使用时大于定义;
b、栈溢出:代码中的变量、函数参数大小超过编译器分配的栈空间,导致死机无法运行;
c、Flash的app区某个存储位置被擦除和覆盖其它数据,导致应用区无法运行导致死机;
d、最小系统硬件外部影响导致
二、处理异常办法
方法1、通过仿真调试,看app运行到那个位置出问题,分析当前变量和参数是否溢出
方法2、通过串口打印分析
方法3、读出单片机Flash的hex文件和编译出来的hex用beyong compare软件对比,数据是否被改写或擦除