STM32-独立看门狗

STM32F10XXX微控制器内含独立看门狗,它在停止和待机模式下仍能工作,由内部低速时钟驱动。看门狗计数器递减,当达到0x000时系统复位。通过设置预分频寄存器(IWDG_PR)和重装载寄存器(IWDG_RLR),可以调整超时时间。喂狗操作需在计数器清零前向键寄存器(IWDG_KR)写入特定值,防止系统复位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.简介:

STM32F10XXX内置两个看门狗:独立看门狗和窗口看门狗。独立看门狗本质是:当计数器达到给定的超时值时,产生系统复位。

独立看门狗(IWDG)由专用的内部低速时钟(LSI)驱动,即在停止模式或待机模式等低功耗模式时任然有效

2.主要性能:

  • 自由运行的递减计数器
  • 时钟有独立的RC振荡器提供(可在停止和待机模式下工作
  • 看门狗被激活后,则在计数器计数至0x000时产生复位

3.使用方法:

  1. 在键值寄存器(IWDG_KR)中写入0xCCCC,启用独立看门狗;
  2. 计数器开始从复位值0xFFF递减计数
  3. 当计数器计数到末尾0x000时,产生复位信号(IWDG_RESET)
  4. 在计数器计数未到0x000之前,在键值寄存器(IWDG_KR)中写入0xAAAA,IWDG_RLR中的值会被重新加载到计数器,避免看门狗产生复位。

4.重要寄存器描述:(具体是哪个bit代表什么意思不做描述)

1)键寄存器(IWDG_KR)

写入0xAAAA,防止计数器递减到0产生复位;

写入0x5555,表示允许访问预分频寄存器(IWDG_PR)和重装载寄存器(IWDG_RLR)

写入0xCCCC,启动看门狗

2)预分频寄存器(IWDG_PR)

对LSI(40KHz)进行4/8/16/32/64/128/256分频

3)重装载寄存器(IWDG_RLR)

默认初始值为0xFFF,最大值为0xFFF;

每当向键寄存器(IWDG_KR)写入0xAAAA时,会将重装载寄存器(IWDG_RLR)中的值传送到计数器中,进行递减计数。所以独立看门狗的超时时间跟重装载寄存器(IWDG_RLR)和预分频寄存器(IWDG_PR)有关,公式如下:

看门狗超时时间 = 重装载寄存器值*(预分频寄存器值/40000)

5.程序:

喂狗时执行IWDG_ReloadCounter();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

izar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值