IWDG disable during Sleep/Stop
Hello.
I am running STM32L412 microcontroller in low power GSM design. All works great, but I would also want to add watchdog just in case.
I am in STOP2 mode most of the time, and I am waiting for interrupts from GSM module or MEMS IRQ
I configured IWDG for 30s reset, I reload it just before sleep that takes 4 minutes (IWDG = 30s).
In boot I also RESET IWDG_STOP and IWDG_STBY bits based on reference manual, I also check FLASH OP register to see if bits are truly zeros and they are.


BUT I still been RESETED in STOP2 mode, while it should NOT HAPPEN based on my limited understanding.
Any ideas what I am doing wrong ?
FLASH_UNLOCK();
FLASH_OB_UNLOCK();
CLEAR_BIT(FLASH->OPTR,FLASH_OPTR_IWDG_STOP|FLASH_OPTR_IWDG_STDBY);
FLASH_OB_LOCK();
FLASH_LOCK();
void FLASH_UNLOCK(void)
{
if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != 0U)
{
FLASH->KEYR = FLASH_KEY1;
FLASH->KEYR = FLASH_KEY2;
if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != 0U)
{
//return 1;// ERROR
}
}
}
void FLASH_OB_UNLOCK(void)
{
if(READ_BIT(FLASH->CR, FLASH_CR_OPTLOCK) != 0U)
{
FLASH->OPTKEYR = FLASH_OPTKEY1;
FLASH->OPTKEYR = FLASH_OPTKEY2;
}
else
{
//return 1;// ERROR
}
//return 0;
}