149 lines
5.0 KiB
C
149 lines
5.0 KiB
C
|
/******************************************************************
|
|||
|
*<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (C)2019, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD>Ͼ<EFBFBD><EFBFBD>ֹ<EFBFBD>˾
|
|||
|
*
|
|||
|
*<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: WatchDog.c
|
|||
|
*<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʶ:
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ժҪ:
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>:
|
|||
|
*<EFBFBD><EFBFBD>ǰ<EFBFBD>汾:
|
|||
|
*<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
*
|
|||
|
*<EFBFBD>ļ<EFBFBD>¼1:
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:
|
|||
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
******************************************************************/
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
* ͷ<EFBFBD>ļ<EFBFBD> *
|
|||
|
******************************************************************/
|
|||
|
#include "WatchDog.h"
|
|||
|
#include "Include.h"
|
|||
|
#include "Delay.h"
|
|||
|
#include "stm32f4xx_iwdg.h"
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> *
|
|||
|
******************************************************************/
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
* <EFBFBD>궨<EFBFBD><EFBFBD> *
|
|||
|
******************************************************************/
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *
|
|||
|
******************************************************************/
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
* ȫ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *
|
|||
|
******************************************************************/
|
|||
|
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
* ȫ<EFBFBD>ֺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *
|
|||
|
******************************************************************/
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void CloseHardWatchDogGpioInit(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>ر<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>:
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>汾<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*---------------------------------------------------
|
|||
|
* 2019 / 10 / 17 ZhangLing
|
|||
|
******************************************************************/
|
|||
|
void CloseHardWatchDogGpioInit(void)
|
|||
|
{
|
|||
|
GPIO_InitTypeDef GPIO_InitStruct;
|
|||
|
|
|||
|
RCC_AHB1PeriphClockCmd(WDG_WDI_GPIO_CLK | WDG_EN_GPIO_CLK, ENABLE);
|
|||
|
|
|||
|
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
|
|||
|
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
|
|||
|
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
|
|||
|
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;
|
|||
|
|
|||
|
GPIO_InitStruct.GPIO_Pin = WDG_WDI_GPIO_PIN;
|
|||
|
GPIO_Init(WDG_WDI_GPIO_PORT, &GPIO_InitStruct);
|
|||
|
|
|||
|
GPIO_InitStruct.GPIO_Pin = WDG_EN_GPIO_PIN;
|
|||
|
GPIO_Init(WDG_EN_GPIO_PORT, &GPIO_InitStruct);
|
|||
|
|
|||
|
GPIO_SetBits(WDG_EN_GPIO_PORT, WDG_EN_GPIO_PIN);
|
|||
|
GPIO_ResetBits(WDG_WDI_GPIO_PORT, WDG_WDI_GPIO_PIN);
|
|||
|
}
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void WatchDogGpioInit(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD>gpio<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>:
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>汾<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*---------------------------------------------------
|
|||
|
* 2019 / 10 / 17 ZhangLing
|
|||
|
******************************************************************/
|
|||
|
void WatchDogGpioInit(void)
|
|||
|
{
|
|||
|
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //ȡ<><C8A1><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
|
|||
|
IWDG_SetPrescaler(IWDG_Prescaler_4); //<2F><><EFBFBD><EFBFBD> IWDG <20><>Ƶϵ<C6B5><CFB5>
|
|||
|
IWDG_SetReload(1200); //<2F><><EFBFBD><EFBFBD> IWDG װ<><D7B0>ֵ
|
|||
|
IWDG_ReloadCounter(); //reload
|
|||
|
}
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void WatchDogEnable(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ʹ<EFBFBD>ܿ<EFBFBD><EFBFBD>Ź<EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>:
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>汾<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*---------------------------------------------------
|
|||
|
* 2019 / 10 / 17 ZhangLing
|
|||
|
******************************************************************/
|
|||
|
void WatchDogEnable(void)
|
|||
|
{
|
|||
|
IWDG_Enable(); //ʹ<>ܿ<EFBFBD><DCBF>Ź<EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void WatchDogDisable(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ʧ<EFBFBD>ܿ<EFBFBD><EFBFBD>Ź<EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>:
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>汾<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*---------------------------------------------------
|
|||
|
* 2019 / 10 / 17 ZhangLing
|
|||
|
******************************************************************/
|
|||
|
void WatchDogDisable(void)
|
|||
|
{
|
|||
|
GPIO_SetBits(WDG_EN_GPIO_PORT, WDG_EN_GPIO_PIN);
|
|||
|
}
|
|||
|
|
|||
|
/******************************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void FeedDog(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ι<EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ: void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>:
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>汾<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*---------------------------------------------------
|
|||
|
* 2019 / 10 / 17 ZhangLing
|
|||
|
******************************************************************/
|
|||
|
void FeedDog(void)
|
|||
|
{
|
|||
|
IWDG_ReloadCounter(); //reload
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|