Przyczyna resetu (reset cause)
Flagi statusu mówiące, dlaczego mikrokontroler się zrestartował — jedyny świadek, gdy urządzenie w terenie nagle zaczyna od zera.
Większość mikrokontrolerów ma rejestr z jednym bitem na źródło: reset po włączeniu zasilania, brown-out, zewnętrzny pin resetu, reset programowy i watchdog. W STM32 leżą w RCC_CSR; w ESP32 wydaje je esp_reset_reason(). Flagi przeżywają sam restart i pozostają ustawione, dopóki firmware ich nie skasuje.
Właściwy wzorzec: odczytać rejestr na początku rozruchu, zalogować lub zgłosić, a potem skasować. Bez tego reset watchdoga co dziesięć minut wygląda dokładnie jak ktoś wyrywający wtyczkę z gniazdka. Częsty dodatek to licznik w RAM-ie, który nie jest zerowany przy resecie: trzy restarty watchdoga z rzędu i firmware przechodzi w tryb bezpieczny albo wraca do poprzedniego obrazu.