您的当前位置:首页正文

看门狗设置编程指南

来源:个人技术集锦
第一步:向键寄存器写入0x5555去除写保护。

IWDOG->KR=0x5555;

第二步:设置喂狗最大时间间隔。

时间计算公式为:Tout=((4*2^prer)*rlr)/40 (ms) prer:分频数 rlr:从装载寄存器设置的值。其实公式本来应该为:时间=每秒的计数次数(频率)/(重装寄存器的值)要是还不理解的话就是这样的:1秒/需要设置的时间=每秒的计数次数(频率)/(重装寄存器的值)

而每秒的计数次数(频率)=40KHZ/预分频数。(4*2^prer)=预分频数。可以参看下图:

例如:要设置1s的时间可以这样:prer=4,rlr为625,带入上式得出结果为1000ms.

IWDG->PR=prer; // 预分频寄存器(IWDG_PR)

IWDG->RLR=rlr; // 重装载寄存器(IWDG_RLR)

第三步:对预分频寄存器和重装载寄存器进行保护起来(写保护)

向键寄存器里写入0xaaaa,将再次写保护。另外0xAAAA,IWDG_RLR中的值就会被重新加载到计数器。

第四步:使能看门狗

向键寄存器里面写入0xcccc就使能了独立看门狗了。此时看门狗也就开始工作了。

IWDG->KR=0XCCCC;

第五步:在不超过最大的时间内进行喂狗操作

只需要向键寄存器里面写入0xaaaa就可以了。

IWDG->KR=0XAAAA;

因篇幅问题不能全部显示,请点此查看更多更全内容