m0系列函數獨立看門狗配置
阿新 • • 發佈:2017-07-02
看門狗 res rst sys logs class div handler rec
獨立看門口配置
//main.c 中main函數前
static void IWDG_Config(void) { RCC_LSICmd(ENABLE); /*!< Wait till LSI is ready */ while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET); IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); IWDG_SetPrescaler(IWDG_Prescaler_256); //LSI頻率為40K IWDG_SetReload(1562); //定時10s , 781 = 10000ms * 40 / 256; 最大為0XFFF IWDG_ReloadCounter(); IWDG_Enable(); }
//main函數開頭中
if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET) { RCC_ClearFlag(); }
//main函數初始化部分中
Systick_Init();//systick中斷中用於餵狗等 IWDG_Config();
//中斷中寫
void Systick_Init(void) { // if (SysTick_Config(SystemCoreClock / 1000))//1ms if (SysTick_Config(SystemCoreClock / 100))//10ms { while (1); } }
void SysTick_Handler(void) { static u16 l_u16Tick = 0; l_u16Tick ++; if(!(l_u16Tick % 100)) { g_u8Flg_1S = 1; IWDG_ReloadCounter(); //餵狗 } }
m0系列函數獨立看門狗配置