Выход из зависшей ветки через сброс по WDT приведёт к перезапуску CPU, что для ответственного приложения недопустимо. Один из вариантов решения проблемы:
- в конфигурации WDT запрещаем сброс CPU и разрешаем прерывание от WDT
- в main, в главном цикле, как обычно, периодически обнуляем WDT
Но как из прерывания __irq void Watchdog_Handler(void) вернуться не в зависшую ветку, а в главный цикл?
C благодарностью приму советы от уважаемых коллег