单片机软硬件复位

单片机软硬件复位

 

复位:把电路恢复到起始状态

 

复位电路启动的手段:

一是在给电路通电时马上进行复位操作;

二是在必要时可以由手动操作;

三是根据程序或者电路运行的需要自动地进行。

 

单片机软复位有什么好的方法?

 

1.放狗;

watchingtimer看门狗防止程序发生死循环,或者说程序跑飞)

        但不是所有的单片机都有看门狗的功能

 

2.((void(code *)(void))0x0000)()

         不是严格意义上的复位,而是将程序转到0地址去执行,但有些单片机用户程序启动地址不是0地址,需要特地查询

         

         void soft_reset(void)
{

 ((void (code *) (void)) 0x0000) ();
}
在需要软件复位的地方使用语句:
soft_reset
(); 

 

3.用单片机一个引脚控制点一下RSTRST

         用软件实现的应付为,增加单片机外部电路复杂性,不推荐

 

4.用单片机一个引脚控制重新加电;

         同上

 

5.用单片机自带的软件复位指令或内狗指令;

        

6.goto大法;

         当程序从上电复位开始执行,且只有一个循环,可以使用goto,但尽量不要用goto命令,可能会乱窜。

 

你可能感兴趣的:(单片机)