本帖最后由 tianli1980 于 2012-6-16 18:29 编辑
1.看门狗超时复位
由于没有及时喂狗或在程序一开始没有关闭看门狗,导致看门狗溢出复位。在调试阶段应该屏蔽看门狗,在程序的一开始使用WDTCTL = WDTPW + WDTHOLD; 语句关闭看门狗。
2.堆栈溢出复位
如果堆栈溢出导致复位,你应该感到庆幸,庆幸你发现了。在程序编译完成后应该看map,查看当前堆栈使用情况,430的22×2和2471堆栈都是默认80B,可以开启堆栈使用量报警。按照老鸟的说法,自己使用了多少堆栈自己心里应该清楚。对于我们这样的菜鸟,我说,编译器清楚,呵呵。
3.电压不够等问题导致复位
由于430的USB debug可以提供电源,所有有时候目标板就会忘了接电源,而当程序运行到某些地方,开启某些设备的时候,debug供电不足,就会导致复位。怕自己忘记的方法就是,对于板子上有大电流的,烧录接口一律改为Target供电。 |