看门狗是如何工作的

[复制链接]
728|8
 楼主| pengf 发表于 2015-9-12 10:56 | 显示全部楼层 |阅读模式
是否可以定时,如何定时,谢谢
sfr  WDTRST  =   0xA6;                                 
sbit key = P3^1;                 
/*------------------------------------------------
                    喂狗
------------------------------------------------*/
void Rst_Watchdog( void )
{
        WDTRST  = 0x1E; //先赋值1E 然后赋值E1
    WDTRST  = 0xE1;
}

/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main( void )
{
        int i;
                                   
        Rst_Watchdog();
                                       
        for( i = 0; i < 500; i++)//这里的这个循环有什么用,如果喂狗的话这样好像意义不大
        {
                Rst_Watchdog();               
        }
    P1=0x00;
        while(!key)               
                                
        {
         P1=0x55;                        
                              
        }
}
renyaq 发表于 2015-9-12 10:57 | 显示全部楼层
仔细看看芯片资料
 楼主| pengf 发表于 2015-9-12 10:57 | 显示全部楼层
正在看,我发现,如果上面的key如果不按的话,看门狗复位会从main开头开始运行,但是如果按下的话,复位后会从while循环开始
supernan 发表于 2015-9-12 10:57 | 显示全部楼层
栩栩如生 发表于 2015-9-12 10:58 | 显示全部楼层
嗯,楼主可以先看百度的基本原理,然后看数据手册,然后再有疑难,再来问。
 楼主| pengf 发表于 2015-9-12 10:58 | 显示全部楼层
谢谢,看过了,也有了基本了解,但是还有些问题
houcs 发表于 2015-9-12 10:59 | 显示全部楼层
这个程序应该有问题吧,main里面连个主循环都没有,怎么运行啊?
liuzaiy 发表于 2015-9-12 10:59 | 显示全部楼层
是啊,喂狗就是应该在主循环里喂的。
 楼主| pengf 发表于 2015-9-12 10:59 | 显示全部楼层
哦,偶看下。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部