STM8L HALT与IWDG同时使用问题

问题描述

在STM8L上面在开启IWDG的情况下,让设备进入halt模式,系统会应为IWDG没有喂狗而重启,这是应为IWDG的时钟源为LSI,在halt模式下LSI没有关闭,IWDG还在计数所以导致系统重启。
STM8L HALT与IWDG同时使用问题_第1张图片

解决方法

1、在使用STVP烧录工具烧录时配置IWDG_HALT选项
STM8L HALT与IWDG同时使用问题_第2张图片
2、在代码中修改Option选项中的IWDG_HALT字节
STM8L HALT与IWDG同时使用问题_第3张图片

 FLASH_DeInit();
  /* Define flash programming Time*/
  FLASH_SetProgrammingTime(FLASH_ProgramTime_Standard);
  /* Unlock flash data eeprom memory */
  FLASH_Unlock(FLASH_MemType_Data);
  /* Wait until Data EEPROM area unlocked flag is set*/
  while (FLASH_GetFlagStatus(FLASH_FLAG_DUL) == RESET);
  //设置IWDG_HALT
  FLASH_ProgramOptionByte(0x004808,0x02);

你可能感兴趣的:(STM8)