-
采用STM32标准库3.5版本实现独立看门狗功能
- 首先加入文件stm32f10x_idwg.c,在main.c中包含头文件stm32f10x_iwdg.h
- 定义看门狗时间宏
#define CONVERT_TICK(tick) (tick*625/4)
#define IWDG_OVER_TIME CONVERT_TICK(20) //3125*6.4=20s 看门狗时间定义
3. 配置看门狗参数
/**
* @brief 独立看门狗配置
*
*
* @param None
* @retval None
*/
void IWDG_Configuration(void)
{
/* 写入0x5555,用于允许看门狗寄存器写入功能*/
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
/*看门狗时钟分频,40KHz/256=156Hz(6.4ms)*/
IWDG_SetPrescaler(IWDG_Prescaler_256);
IWDG_SetReload(IWDG_OVER_TIME);
IWDG_Enable();
IWDG_ReloadCounter();
}
4.主函数中调用配置函数,循环中调用喂狗函数
/**
* @brief 主函数,程序的入口
*
*
* @param None
* @retval int:不用理会,对于嵌入式系统,永远都不会返回
*/
int main(void)
{
//--------独立看门狗配置-----------------------------------
IWDG_Configuration(); /*!<配置并启动独立看门狗功能*/
for(;;)
{
IWDG_ReloadCounter(); /*!< 喂狗*/
}
}
DEMO下载地址:
https://download.csdn.net/download/mygod2008ok/11959880