嵌入式系统学习笔记之“独立看门狗”——STM32(九)

目录

一、实验目的

二、实验原理

2.1独立看门狗(IWDG)简介

2.2独立看门狗应用场合

2.3独立看门狗时钟

三、独立看门狗相关寄存器

3.1独立看门狗框图

3.2键寄存器(IWDG_KR)

3.3预分频寄存器(IWDG_PR)

3.4重装载寄存器(IWDG_RLR)

3.5状态寄存器(IWDG_SR)

四、代码展示

       4.1 main.c

       4.2 wdg.c

       4.3 wdg.h

五、实验结果

六、心得体会


一、实验目的

        本实验旨在通过使用STM32F103ZET6单片机实现独立看门狗(Independent Watchdog,IWDG)功能,加深对STM32单片机看门狗原理及操作的理解,并掌握看门狗在嵌入式系统中的应用。

二、实验原理

2.1独立看门狗(IWDG)简介

        首先我们得讲解一下看门狗的原理。这个百度百科里面有很详细的解释。我们总结一下:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号)。 

  STM32F103ZET6的独立看门狗(IWDG)是由内部LSI(内部约40KHZ低速时钟)时钟驱动的。由于IWDG是由内部低速时钟驱动,所以就算主时钟发生故障,IWDG依然能够工作。

  由于LSI是一个内部RC时钟,所以时钟不是很准确的40KHZ,而是在30KHZ~60KHZ之间变化的时钟,所以IWDG时间的计算并不是很准确,只能是一个大概的值。一般用40KHZ来估算。

  IWDG的计数器是一个递减计数器,当IWDG被激活后,计数器开始向下递减计数,当计数器计数至0x0000时产生复位信号,使芯片复位。

  当芯片处于停止和待机模式下工作时,IWDG依然继续工作。

2.2独立看门狗应用场合

由于独立看门狗时钟源由LSI时钟提供,并不精确,所以IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。

2.3独立看门狗时钟

三、独立看门狗相关寄存器

3.1独立看门狗框图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值