我是靠谱客的博主 怡然哈密瓜,最近开发中收集的这篇文章主要介绍[HAL库学习之路]6.WWDG-窗口看门狗,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

记录自己的STM32的HAL库的学习之路,不定期更新…

一、Pinout

这里写图片描述

二、Clock Configuration

这里写图片描述

三、Configuration

这里写图片描述
配置GPIO
这里写图片描述
配置WWDG
这里写图片描述
配置NVIC
这里写图片描述
超时时间:

T=4096Prescaler(T[5:0]+1)/Fpclk

Prescaler为WWDG的预分频系数,Fpclk为APB1时钟,T[5:0]为窗口看门狗的计数器低6位。

四、Generate Code

这里写图片描述

代码
窗口看门狗的上窗口为0x5f,在计数器为0x7f至0x5f之间喂狗程序复位,使能提前唤醒中断,计数器减至0x40会产生一个中断,在中断完成喂狗及翻转PF10。

int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_WWDG_Init();
/* USER CODE BEGIN 2 */
HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_RESET);
HAL_Delay(24);
HAL_WWDG_Refresh(&hwwdg);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef* hwwdg)
{
static uint8_t state = 0;
HAL_WWDG_Refresh(hwwdg);
HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,state);
state = !state;
}

最后

以上就是怡然哈密瓜为你收集整理的[HAL库学习之路]6.WWDG-窗口看门狗的全部内容,希望文章能够帮你解决[HAL库学习之路]6.WWDG-窗口看门狗所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部