欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

MCU里的守护者:详解独立看门狗(IWDG)

最编程 2024-02-19 12:35:59
...

1、IWDG 主要作用 

        独立看门狗 (IWDG) 由其专用低速时钟 (LSI) 驱动,因此即便在主时钟发生故障时仍然保持工作状态。 IWDG 最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。

2、IWDG 主要特性 

(1) 32位(只使用了12位)*运行递减计数器

(2) 时钟由独立 RC 振荡器(LSI)提供(可在待机和停止模式下运行);

(3) 当递减计数器值达到 0x000 时产生复位(如果看门狗已激活); 

3、编程控制

(1) 初始化

        看门狗超时时间由递减计数器重装载值和时钟预分频器共同决定。例如,STM32F407,LSI=32K,64分频,递减计数器重装载值为500,则超时时间 = 1/32K *64 * 500 = 1s 。

(2) 喂狗

在main的while(1)处喂狗:

  

要在超出时间之内喂狗,否则会触发复位,一般都是在main的while(1)循环内喂狗。

4、注意地方

(1) 某些执行时间特别长的程序,或者while(1)要多喂狗,避免超出时间导致复位;

(2) 在进入低功耗的时候,如果没有按时喂狗,一样会触发复位,所以要注意喂狗时间或者定时喂狗。