STM32cubemx——HAL库学习笔记 七、WWDG窗口看门狗的设置

一、配置STM32cubeMX工程
![在这里插入图片描述](https://img-blog.csdnimg.cn/5a4bf0cee17e4a3f81f0299ba6f8e161.png

分频:由PCLK1分频给计数器寄存器提供时钟
窗口值:它是用来设置窗口看门狗的上窗口值的
计数器重装载:我是这么理解的,相当于每次喂狗的值
中断 :开启了中断以后,会在计数器出现0x40时开启中断事件

二、WWDG的技术讲解
由名字可以看出来,窗口看门狗是在某一个范围进行的喂狗操作。
在这里插入图片描述
如图所示,CFR就是我们设置的上窗口值,而CR的低六位是我们的递减计数器。由图可以看出我们的CR寄存器T6必须要为1,否则我们的系统会一直进行复位,也就是说我们的CR寄存器必须大于0x40(64)。而我们的最大值是127,对应我们的上窗口CFR最大也只能是127。而我们的窗口范围也就是CFR-64,而且CFR必须要比CR大,否则将没有窗口的存在。

这里注意一点,就算我们没有开启看门狗,他的计数器依旧在进行计数,因为它之接搭载在了PCLK1上面
在这里插入图片描述
数据手册中有一张这个图,由图可以看出,喂狗只能在CFR和0x3F之间进行喂狗,在此外是无效的。

三、HAL库函数的调用

if((hwwdg.Instance->CR & 0x7f) < 127 && (hwwdg.Instance->CR & 0x7f) > 64)
		HAL_WWDG_Refresh(&hwwdg);  //在可刷新的范围内进行喂狗

这个函数和IWDG的函数是差不多的,这里相当于直接对CR寄存器给赋值了。就不做过多介绍,可以翻一翻第六章IWDG。

四、HAL库实现控制WWDG相关寄存器的方法
在这里插入图片描述
一个结构体,其中有两个结构体成员,第一个对应到了实际的寄存器地址(至于怎么赋值到实际地址的可以去看一下第一章GPIO),是控制它的根本。而第二个则是初始化的设置,在cubemx中所设置的参数对应的赋值给它们了。

而喂狗的函数则是直接将初始化中的值给到了CR寄存器。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值