突然想到一个问题,单片机程序跑飞之后定时器还能工作不

2020-01-22 12:10发布

自己写的程序不多,也没遇到过程序被外界干扰跑飞的情况。所以请教一个各位大神单片机在受到外界干扰程序跑飞之后里面的定时器中断还能定时执行不?

我理解的程序跑飞就是PC指针错乱了,那影响的应该只是主函数的执行吧。定时器中断是独立于主函数的硬件,会被程序跑飞干扰么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
54条回答
babysnail
1楼-- · 2020-01-27 15:48
shawn_bu 发表于 2014-9-17 10:13
如果定时器中断没法正常执行那软件看门狗岂不是一样?如果程序跑分的瞬间刚好乱写寄存器把软件狗关了咋办? ...

所以啊,用定时器作软件狗是不可以靠的。 必须是独立的硬件狗,时钟也要是独立。最好连电源也独立,这个在一个芯片上一般就没有了。
shawn_bu
2楼-- · 2020-01-27 15:57
 精彩回答 2  元偷偷看……
babysnail
3楼-- · 2020-01-27 20:11
jnak47 发表于 2014-9-17 08:14
PC指针被修改了,执行到了不想被执行的地方,如果跑到非程序区,直接就死机了。 ...

相当然了。  假设程序有32Kb, 即使程序后面全清成0, NOP指令, pc寄存器还是会不断加,直到溢出ffff,64kB又从0开始计。
jswd0810
4楼-- · 2020-01-28 01:37
babysnail 发表于 2014-9-17 10:14
跳到非程序区会直接死机吗? 请教一下原理

死机这里应该指的是死循环, 只要晶体时钟还在走硬件没坏,还 ...

这就是所谓的“活死机”
babysnail
5楼-- · 2020-01-28 03:35
本帖最后由 babysnail 于 2014-9-17 10:26 编辑
shawn_bu 发表于 2014-9-17 10:21
硬件看门狗是指独立于单片机的另一个芯片么?还是就是单片机内置的看门狗电路。如果是内置的还是通过寄存 ...


内置的, 所以一般设置看门狗指令会有软件开关的, 如先写  A5,5A这样的指令,才能接着配置,否则指令是不会生效的。 我们学东西不但要知道然更要知道所以然。

可靠性是外接的比内置的高。
cl1cl1cl1cl1
6楼-- · 2020-01-28 04:11
不确定状态了

一周热门 更多>