WatchDog.c 932 B

12345678910111213141516171819202122232425
  1. #include "includes.h"
  2. /**********************************************************************************************************
  3. *外部看门狗IO初始化
  4. ************************************************************************************************************/
  5. void ExtWatchDogInit()
  6. {
  7. GPIO_InitTypeDef GPIO_InitStructure;
  8. RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA,ENABLE);
  9. GPIO_InitStructure.GPIO_Pin = EXTWATCHDOG_PIN;
  10. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO_Mode_IPU; 用IPU输出电压很低
  11. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  12. GPIO_Init(EXTWATCHDOG_PORT, &GPIO_InitStructure);
  13. //高脉冲宽度至少70ns以上,下降沿喂狗
  14. EXTWATCHDOG_HIGH;
  15. __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
  16. EXTWATCHDOG_LOW;
  17. __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
  18. EXTWATCHDOG_HIGH;
  19. __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
  20. EXTWATCHDOG_LOW;
  21. }