OS和裸奔的区别在于前者“跑飞”顶多坏一部分,试想一下Windows中如果一个程序死掉了,你还是可以做其他事的吧?包括强行关掉这个任务也算一件事...后者一“跑飞”可能会全局崩溃。 因为有任务调度算法的存在,比如你在运行任务A的时候“跑飞”了,那么在下一个时基到的时候中断照样会被正常触发,控制权回到操作系统手上,开始调入任务B,这时候任务B肯定是正常执行了,同理,接着运行任务C,一圈下来了又回到任务A上,那么仍然会回到是“跑飞”状态,那么如果你再添加个任务进去,主要负责监视其他任务有没有跑飞现象,一旦有任务“跑飞”就对其进行处理,就能有很好的抗干扰效果。 不过抗干扰要依靠软件那肯定是被动的,如果干扰形式为电快速脉冲群,在其频率超高,电压幅度超大的时候,一瞬间能把你的MCU打至“死机”状态,这时候别说跑飞了...连能不能跑都是问题,也就是定时器都不走无法进中断,纵使软件编得再好也没用,唯有等外狗来救命(外狗都就救不了就是传说中的“真死机”状态了)... 干扰这东西就是麻烦...本人毕业后搞了10个月,才搞出个能过四级EFT的工控板,这么多时间一般项目不知道能做多少个了,晕.. |