单片机看门狗
  在单片机系统中,我们经常用硬狗复位MCU。程序经常这样写:
<P>       data unsigned char bootflag;</P>
<P>       if(bootflag!=0xaa)<BR>          {<BR>               /*      冷启动代码      */<BR>          }<BR>       else<BR>          {<BR>               /*      热启动代码      */<BR>          }</P>
<P>      最近做了一个东东,发现即使系统冷启动,bootflag仍为0xaa。所以希望各位兄第做东西时,如果用到硬狗,程序中至少要用2个启动检查变量,来查看是冷启动,还是热复位。如果程序的RAM比较紧张,或者你就想用一个字节变量做标志,可以在else中这样写:<BR><BR>       else<BR>          {<BR>               /*      根据系统用到的变量在运行时的值初始化系统        */<BR>              if(run_var==VAR_DEF_1)<BR>                  {<BR>                      /*      初始化1 */<BR>                  }<BR>              else if(run_var==VAR_DEF_2)<BR>                  {<BR>                      /*      初始化2 */<BR>                 }<BR>              else<BR>                  {<BR>                       bootflag=0x55;<BR>                       soft_dog();<BR>                  }<BR>               while(1)<BR>                   {</P>
相关资讯