iwdg.c 488 B

123456789101112131415161718192021222324252627
  1. #include "includes.h"
  2. void IWDG_Configuration(unsigned short invalue)
  3. {
  4. // WWDG 时钟使能
  5. RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);
  6. if(RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)RCC_ClearFlag();
  7. //写入0x5555,用于允许狗狗寄存器写入功能
  8. IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
  9. //狗狗时钟分频,40K/256=156HZ(6.4ms)
  10. IWDG_SetPrescaler(IWDG_Prescaler_256);
  11. //喂狗时间
  12. IWDG_SetReload(invalue);
  13. //喂狗
  14. IWDG_ReloadCounter();
  15. //使能狗狗
  16. IWDG_Enable();
  17. }