STM32独立看门狗详解

描述

本文将介绍STM32的看门狗中的独立看门狗,并通过实例来喂狗、体验喂狗与不喂狗的区别。

①STM32看门狗介绍之独立看门狗

②使用STM32CUBEMX来配置工程文件

③代码实现,按键按下喂狗、按键不按下不喂狗程序复位

①STM32看门狗介绍之独立看门狗

看门狗定时器本质上是一个计数器、给计数器一个数值,在程序

运行后计数器的值开始递减,当计数器的值减到0是会将程序复位,若在减到0之前给计数器更新一下值“喂狗”则从最新的值开始递减;

用途:

1、这样做的好处就是程序跑飞、死机时,通过复位的方式使得程序又正常运行;

2、用于将系统从休眠或者空闲模式唤醒。

看门狗的种类:

独立看门狗IWDG

特点:专用时钟LSI、低功耗模式仍可运行、对定时的控制比较松;

窗口看门狗

特点:总线时钟APB1、要求主应用程序在规定时间喂狗、对定时控制比较严

独立看门狗工作原理框图:

STM32

独立看门狗的时钟是内部低速时钟、是一个RC时钟,即使主时钟失效也不影响独立看门狗的运行,该时钟是32KHz、但由于是RC时钟其频率范围在15-47khz波动,所以有时定时是有一点误差的。

预分配寄存器:寄存器中的数值对应相应的分频数、最大支持

256分频;

状态寄存器:寄存器中的数值对应预分频器寄存器和重载寄存器

中的值的更新状况,若在更新中、则暂时不能更改这两个寄存器中的值

重载寄存器:寄存器中装着计数器的重装载值

关键字寄存器:负责重装载值的装载、预分频器和重载寄存器是否可写,控制IWDG的启动;

需要注意的是计数器是12位、即喂狗最大间隔时间是有限制的;

②使用STM32CUBEMX来配置工程文件

Step1:使能USART3,用于调试

STM32

Step2:使能独立看门狗、并进行配置32分频、3秒内喂狗否则

复位

STM32

Step3:PA0设置为输入功能、PA0接的是按键

STM32

Step4:生成工程文件

STM32

STM32

STM32

③代码实现,按键按下喂狗、按键不按下不喂狗程序复位

Step1:输出重定向,用于调试

STM32

Step2:按键按下喂狗

STM32

Step3:效果

STM32

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分