【无标题】20230814-独立看门狗的学习(stm32)

独立看门狗的定义:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号)。

独立看门狗的时钟:独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。

适用场合:适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精
度要求较低的场合。

独立看门狗的主要性能:

1、自由运行的递减计数器

2、时钟由独立的RC振荡器提供(可在停止和待机模式下工作)

3、看门狗被激活后,则在计数器计数至0x000时产生复位

寄存器描述:

1、键寄存器(IWDG_KR)

软件必须一定时间向此寄存器写入0XAAAA,否则当计数器为0时看门狗会复位。

写入0x5555表示允许访问IWDG_PR和IWDG_RLR寄存器。(具有写保护功能)

写入0xCCCC,启动看门狗工作(若选择了硬件看门狗则不受此命令字限制)。

2、预分频寄存器(IWDG_PR)

用于设置看门狗的时钟分频,使用之前必须向IWDG_KR寄存器写入0xCCCC

要改变预分频因子,IWDG_SR寄存器的PVU位必须为0。

3、重装载寄存器(IWDG_RLR)
寄存器写入0xAAAA时,重装载值会被传送到计数器中。此寄存器设置的重装载值,当开始计数后从这个值递减到0。

4、状态寄存器(IWDG_SR)

RVU:看门狗计数器重装载值更新 ,此位由硬件置1指示重装载值的更新正在进行中,当在VDD域中的重装载更新结束后,此位由硬件清’0’

PVU: 看门狗预分频值更新 ,此位由硬件置’1’用来指示预分频值的更新正在进行中。当在VDD域中的预分频值更新结束后,此位由硬件清’0’

看门狗配置过程

1、取消寄存器写保护(向 IWDG_KR 写入 0X5555)

2、设置独立看门狗的预分频系数和重装载值

3、重载计数值喂狗(向 IWDG_KR 写入 0XAAAA)

4、启动看门狗(向 IWDG_KR 写入 0XCCCC)

说明:在使用了看门狗之后要在定时时间内喂狗,否则将会导致程序重启

明日计划:学习窗口看门狗,时间不早啦,早点休息啦!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值