当前位置:   article > 正文

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

cube模型hall库学习

一、配置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);  //在可刷新的范围内进行喂狗
  • 1
  • 2

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/126056
推荐阅读
相关标签
  

闽ICP备14008679号