STM8L HALT与IWDG同时使用问题
程序员文章站
2024-01-03 11:27:10
...
问题描述
在STM8L上面在开启IWDG的情况下,让设备进入halt模式,系统会应为IWDG没有喂狗而重启,这是应为IWDG的时钟源为LSI,在halt模式下LSI没有关闭,IWDG还在计数所以导致系统重启。
解决方法
1、在使用STVP烧录工具烧录时配置IWDG_HALT选项
2、在代码中修改Option选项中的IWDG_HALT字节
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);