Cześć, ostatnio bawiłem się trochę z wykorzystaniem watchdoga do wybudzania procka z trybu power-down. Z tym nie było większego problemu, ale rozważałem jak można używać watchdoga jednocześnie do wybudzania i kontrolowania czy procek się nie zawiesił.
Widzę dwie drogi, pierwsza naturalnie uruchomienie to trybu przerwań i resetu jednocześnie dla watchdoga, ale nie jestem w stanie pojąć tej funkcjonalności. U mnie to działało tak że podczas pierwszego przepełnienia watchdoga wykonywał przerwanie, a podczas drugiego reset, co mało mnie satysfakcjonuje, bo chciałbym aby reset włączał się przy faktycznym zawieszeniu się procka.
Da się jakoś inaczej używać tego trybu ?
Druga, to np. zrobić licznik na timerze, który jak zliczy do 0, umożliwia w kodzie głównym zmiany jakiejś zmiennej na wartość np 1, a potem sprawdzenie jej w przerwaniu watchdoga i jeśli jest ok to zeruje zmienną, a jeśli źle to resetuje procesor.
Tylko tutaj znowu mam wątpliwości co do niezawodności przerwania watchdog. O samym generowaniu resetu czytałem że, jest to moduł sprzętowy, można na nim polegać i jest niezawodny. Ale chyba (?) może się zdarzyć tak, że przy zawieszeniu się procesora, przerwania watchdog nie będą wykonywane. Bo jeśli może, to ten sposób jest średni i pozostaje pierwsza droga, ale nie wiem jak korzystać z tamtej funkcjonalności.
Ktoś byłby w stanie mi wyjaśnić niejasności ?
