STM32——WWDG

总:STM32——学习总纲

参考资源:

【免费】STmcu选型手册资源资源-CSDN下载

【免费】芯片资料STM32F103ZET6(中文版)资源-CSDN下载

【免费】STM32F1系列参考手册-V10(中)


一、WWDG简介

W[6:0] 窗口值

 

WWDG作用

二、WWDG工作原理

三、WWDG框图

不喂狗,0x40 -> 0x3F 复位:

非窗口喂狗复位:

四、WWDG寄存器

控制寄存器(WWDG_CR)

用于使能窗口看门狗工作,以及重装载寄存器值(喂狗)。

配置寄存器(WWDG_CFR)

使能窗口看门狗提前唤醒终端,设置预分频系数,设置窗口上限制。

状态寄存器(WWDG_SR)

用于判断是否发生了 WWDG 提前唤醒中断。

控制\状态寄存器(RCC_CSR)

用于判断何种复位发生了。

可用HAL库宏清楚置起的位:

/** @brief Set RMVF bit to clear the reset flags.
  *         The reset flags are RCC_FLAG_PINRST, RCC_FLAG_PORRST, RCC_FLAG_SFTRST,
  *         RCC_FLAG_IWDGRST, RCC_FLAG_WWDGRST, RCC_FLAG_LPWRRST
  */
#define __HAL_RCC_CLEAR_RESET_FLAGS() (*(__IO uint32_t *)RCC_CSR_RMVF_BB = ENABLE)

五、WWDG超时时间计算

公式:T_{out} = \frac{4096 * 2^{WDGTB} * (T[5:0] + 1) }{F_{wwdg}}

T_{out} :WWDG超时时间(没喂狗)

F_{wwdg} :WWDG的时钟源频率。(F1-F7:PCLK1;H7:PCLK3)

4096 * 2^{WDGTB} :

T[5:0] :,"+1"表示计数溢出。

推导:

    -》工作的时钟频率:(时钟源/分频系数)

    -》记一个数的时间:1/工作的时钟频率

    -》记T[5:0] (0~63)个数的时间:记一个数的时间 *((0~63)+1)

WWDG最短最长超时时间(F1)

六、WWDG配置步骤

步骤HAL库函数简介
1.WWDG工作参数初始化HAL_WWDG_Init()

主要寄存器:WWDG_CR/WWDG_CFR

设置预分频系数和窗口值

会调用Msp初始化回调函数

2.WWDG Msp初始化HAL_WWDG_MspInit()配置NVIC、CLOCK等
3.设置优先级,使能中断HAL_NVIC_SetPriority()
HAL_NVIC_Enable()
4.编写中断服务函数WWDG_IRQHandler()

会在此函数中调用 窗口 中断公共处理函数 HAL_WWDG_IRQHandler():调用相应的callback函数。

5.重定义提前唤醒回调函数HAL_WWDG_EarlyWakeUpCallback()被HAL_WWDG_IRQHandler()调用callback
6.在窗口期内喂狗HAL_WWDG_Refresh()

主要寄存器:WWDG_CR T[6:0]

重装载计数器,即喂狗。

句柄:

七、编程实战:验证窗口看门狗功能

工程:

【免费】窗口看门狗MDK实验工程资源-CSDN下载

八、IWDG和WWDG的主要区别

九、课堂总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值