151 lines
3.1 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "wwdg.h"
#include "delay.h"
#include "led.h"
//////////////////////////////////////////////////////////////////////////////////
//窗口看门狗驱动代码
//STM32H7工程模板-HAL库函数版本
//DevEBox 大越创新
//淘宝店铺mcudev.taobao.com
//淘宝店铺shop389957290.taobao.com
//////////////////////////////////////////////////////////////////////////////////
WWDG_HandleTypeDef WWDG_Handler; //窗口看门狗句柄
/**********************************************************************************/
//初始化窗口看门狗
//tr :T[6:0],计数器值
//wr :W[6:0],窗口值
//fprer:分频系数WDGTB,仅最低2位有效
//Fwwdg=RCC_PCLK3/(4096*2^fprer). 一般RCC_PCLK3=100Mhz
//STM32H7工程模板-HAL库函数版本
//DevEBox 大越创新
//淘宝店铺mcudev.taobao.com
//淘宝店铺shop389957290.taobao.com
/**********************************************************************************/
void WWDG_Init(u8 tr,u8 wr,u32 fprer)
{
WWDG_Handler.Instance=WWDG1;
WWDG_Handler.Init.Prescaler=fprer; //设置分频系数
WWDG_Handler.Init.Window=wr; //设置窗口值
WWDG_Handler.Init.Counter=tr; //设置计数器值
WWDG_Handler.Init.EWIMode=WWDG_EWI_ENABLE;//使能窗口看门狗提前唤醒中断
HAL_WWDG_Init(&WWDG_Handler); //初始化WWDG
}
/**********************************************************************************/
//WWDG底层驱动时钟配置中断配置
//此函数会被HAL_WWDG_Init()调用
//hwwdg:窗口看门狗句柄
//STM32H7工程模板-HAL库函数版本
//DevEBox 大越创新
//淘宝店铺mcudev.taobao.com
//淘宝店铺shop389957290.taobao.com
/**********************************************************************************/
void HAL_WWDG_MspInit(WWDG_HandleTypeDef *hwwdg)
{
__HAL_RCC_WWDG1_CLK_ENABLE(); //使能窗口看门狗时钟
HAL_NVIC_SetPriority(WWDG_IRQn,2,3); //抢占优先级2子优先级为3
HAL_NVIC_EnableIRQ(WWDG_IRQn); //使能窗口看门狗中断
}
/**********************************************************************************/
//窗口看门狗中断服务函数
//STM32H7工程模板-HAL库函数版本
//DevEBox 大越创新
//淘宝店铺mcudev.taobao.com
//淘宝店铺shop389957290.taobao.com
/**********************************************************************************/
void WWDG_IRQHandler(void)
{
HAL_WWDG_IRQHandler(&WWDG_Handler);
}
/**********************************************************************************/
//中断服务函数处理过程
//此函数会被HAL_WWDG_IRQHandler()调用
//STM32H7工程模板-HAL库函数版本
//DevEBox 大越创新
//淘宝店铺mcudev.taobao.com
//淘宝店铺shop389957290.taobao.com
/**********************************************************************************/
void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef* hwwdg)
{
HAL_WWDG_Refresh(&WWDG_Handler);//更新窗口看门狗值
LED2_Toggle;
}
/**********************************************************************************/
//STM32H7工程模板-HAL库函数版本
//DevEBox 大越创新
//淘宝店铺mcudev.taobao.com
//淘宝店铺shop389957290.taobao.com
/**********************************************************************************/