看门狗是如何工作的

[复制链接]
452|8
 楼主| guoyt 发表于 2020-2-9 14:31 | 显示全部楼层 |阅读模式
是否可以定时,如何定时,谢谢
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;                        
                              
        }
}
hanwe 发表于 2020-2-9 14:34 | 显示全部楼层
仔细看看芯片资料
 楼主| guoyt 发表于 2020-2-9 14:47 | 显示全部楼层
正在看,我发现,如果上面的key如果不按的话,看门狗复位会从main开头开始运行,但是如果按下的话,复位后会从while循环开始
yufe 发表于 2020-2-9 14:50 | 显示全部楼层
http://baike.baidu.com/item/看门狗/6518878#viewPageContent
llia 发表于 2020-2-9 14:54 | 显示全部楼层
嗯,楼主可以先看百度的基本原理,然后看数据手册,然后再有疑难,再来问。
 楼主| guoyt 发表于 2020-2-9 14:56 | 显示全部楼层
谢谢,看过了,也有了基本了解,但是还有些问题
langgq 发表于 2020-2-9 14:59 | 显示全部楼层
这个程序应该有问题吧,main里面连个主循环都没有,怎么运行啊?
wangpe 发表于 2020-2-9 15:04 | 显示全部楼层
是啊,喂狗就是应该在主循环里喂的。
 楼主| guoyt 发表于 2020-2-9 15:07 | 显示全部楼层

嗯,预料中的结果,先结贴吧,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1018

主题

9067

帖子

3

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