基于stm32f103
基于《零死角玩转STM32—F103指南者》
一个12bit的递减计数器
STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬。
独立看门狗是一个 12 位的递减计数器,当计数器的值从某个值一直减到0的时候,系统就会产生一个复位信号,即 IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。
看门狗功能由 VDD 电压域供电,在停止模式和待机模式下仍能工作。
功能框图

1.独立的 RC振荡器 LSI提供时钟
频率30~60KHZ之间,一般取40Khz适用于对时间精度要求比较低的场合。
经过预分频后的计数器时钟
递减计数器的时钟由 LSI 经过一个 8 位的预分频器得到,可以操作预分频器寄存器 IWDG_PR 来设置分频因子,分频因子可以是:[4,8,16,32,64,128,256,256],一个计数器时钟计数器就减一。
计数器到0,程序重新启动运行
独立看门狗的计数器是一个 12 位的递减计数器,最大值为 0XFFF,当计数器减到 0 时,会产生一个复位信号:IWDG_RESET,让程序重新启动运行。如果在计数器减到 0 之前刷新了计数器的值的话,就不会产生复位信号,重新刷新计数器值的这个动作我们俗称喂狗。

本文详细介绍了STM32F103中的12位独立看门狗,包括其工作原理、预分频、重装载寄存器和喂狗机制。重点讲解了如何配置和使用独立看门狗实现定时和系统重启。
最低0.47元/天 解锁文章
1779

被折叠的 条评论
为什么被折叠?



