您当前的位置:五五电子网电子知识单片机-工控设备看门狗电路单片机看门狗 正文
单片机看门狗

单片机看门狗

点击数:7200 次   录入时间:03-04 12:03:42   整理:http://www.55dianzi.com   看门狗电路

在单片机系统中,我们经常用硬狗复位MCU。程序经常这样写:

       data unsigned char bootflag;

       if(bootflag!=0xaa)
          {
               /*      冷启动代码      */
          }


       else
          {
               /*      热启动代码      */
          }

      最近做了一个东东,发现即使系统冷启动,bootflag仍为0xaa。所以希望各位兄第做东西时,如果用到硬狗,程序中至少要用2个启动检查变量,来查看是冷启动,还是热复位。如果程序的RAM比较紧张,或者你就想用一个字节变量做标志,可以在else中这样写:

       else
          {
               /*      根据系统用到的变量在运行时的值初始化系统        */
              if(run_var==VAR_DEF_1)
                  {
                      /*      初始化1 */
                  }
              else if(run_var==VAR_DEF_2)
                  {
                      /*      初始化2 */
                 }
              else
                  {
                       bootflag=0x55;
                       SOFt_dog();
                  }
               while(1)
                   {
                       /*      实际的程序代码  */
                   }

          }

       需要注意的是,单片机被硬狗复位后,外部端口和SFR将还原成默认状态。所以有些SFR
还需要在else中重新初始化。





本文关键字:单片机  看门狗电路单片机-工控设备 - 看门狗电路