先看懂LZ这句话:
“软件用 复位时的寄存器的值判断是热启动和冷启动。但由于寄存器是随机的,作用不大。EMC的259也用过,效果还差。”
那么请问4楼、7楼,LZ的机器由于干扰而出现了复位信号,他怎么还能“热启动和冷启动”使程序从新运行?
这还用问吗?“任何复位信号,(哪怕你是手动按钮)都是脉冲信号,信号过后,软件不运行什么运行?”
那我奇怪了2位的下列说法: 4楼:“硬件都要复位了,软件还怎么做吗?” 7楼:“我就不信复位信号都出现了,你的程序还正常运行???”
我也不信,谁的复位信号能是恒定电平保持不变。
楼主的干扰是通过电源进来的,其实你的电源再好,也不能抗住这么强的干扰。也就是说:在恶劣环境下,由于外部电源的大负荷设备的启动,如电动机,电磁铁等,因共用220V电源而窜入单片机系统的电源干扰是必然的,硬件电路难以抗住的;因此而造成的复位脉冲也是必然的。关键是异常复位事件发生后的弥补和恢复系统继续工作的问题。这就是系统的健壮性。
实际上,像看门狗的作用机理过程一样。如何处理?可以参考站长的《匠人手记》中关于异常复位脉冲(包括看门狗溢出)出现后,如何配合恢复软件提高系统的健壮性相关内容。
|