概述
记录自己的STM32的HAL库的学习之路,不定期更新…
一、Pinout
二、Clock Configuration
三、Configuration
配置GPIO
配置WWDG
配置NVIC
超时时间:
T=4096∗Prescaler∗(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-窗口看门狗所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复