由于干扰因素,中断陷入了死循环。
假设更高优先级的中断发现了这种情况,应该如何处理呢?
为了不至于mcu管脚状态发生变化,所以不能用软reset。
怎么才能使程序放弃死循环的中断,而重新从0x00执行呢
以下是引用WWONGKEN在2004-7-8 7:05:40的发言: 我来答你。必须加上硬件看门狗。 (1)如果你担心在复位的时候将引脚的状态复位而引起误动作, 硬件设计时请注意I/O复位的初始状态设计。 //什么意思?你是说在管脚上加电容滤波么? (2)如果你不想因复位而将引脚的运行状态改变,你必须再加上 非易失性的存储器,将运行的状态保存下来,以便在复位的时候 及时恢复它。 //这个对我的程序影响不大,我的程序运行到一定的位置,状态会自动跑到正确的状态。 |
这个问题应该是处理MCU抗干扰的最基本的问题了, 请大家帮帮忙啊!
只是判断中断是否被挂起,大家是否有有效的方法呢?
旁生的一个问题,如何把$的常量表达式分两次压入堆栈呢? 用asm。