单片机软硬件复位

2019-04-15 12:37发布

单片机软硬件复位   复位:把电路恢复到起始状态   复位电路启动的手段: 一是在给电路通电时马上进行复位操作; 二是在必要时可以由手动操作; 三是根据程序或者电路运行的需要自动地进行。   单片机软复位有什么好的方法?   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命令,可能会乱窜。