Блин как так можно кодить чтобы часть кода вылетала из исполнения... Ну в прерывания от таймера важный код засуньте чтобы он раз в 20 мсек выполнялся с гарантией
У вас речь про некий супервизор.. этот кусок кода надо засунуть в высший приоритет или прерывание от таймера и все.. будет он wdt управлять от кнопки с гарантией
всегда интересовало, что дает знание стандарта, если при изменение флагов компиляции каждый раз дает другой результат. а версии компиляторов я вообще молчу.