Niestety pomysły o jakimś kosmicznym powrocie z przerwania do pętli głównej to dalszy ciąg twojego "obchodzenia" problemu od tyłu zamiast jego rozwiązania. Tyle że już taki pomysł jest mega drakoński i przysporzy ci dopiero siwych włosów

Tak się NIGDY nie robi - NIGDY

dziwne powroty z przerwań do pętli głównej ....
toż bez wielkiego namyślania się można tak na szybko pomyśleć np o zapisaniu w EEPROMIE znacznika jakiegoś itp ... jeśli chodzi o przerwanie watchdoga, które ma uratować wiszący system ...
ale ja poleciłbym ci jednak szukać babola gdzie się dzieje to zawieszanie - bo narobisz się jak koń pod górę, nałatasz , nawrzucasz poprawek i zabezpieczeń do zabezpieczeń, które już wcześniej były trzykrotnie zabezpieczane a i tak przyjdą momenty gdy wszystko będzie już wisiało na włosku i w razie awarii - KLOMPS !
Tak debugowanie takich przypadków gdy mamy już np Ethernet to nie przelewki i nie to co debugowanie projektu z miganiem diodą LED..... niestety.
Ale patrząc na skalę projektu - że jak już ethernet i się coś zawiesza to człowiek podświadomie sobie myśli ... aha! pewnie gdzieś babol w bibliotekach tuxgraphicsa do którego sam nigdy nie dojdę więc co tam będę szukał - ... walnę to watchdogiem i będzie pozamiatane ... a tu proszę - teraz przydałoby się powtórzenie transmisji - potem jeszcze coś jeszcze coś ...
Stop! warto sobie pomyśleć - ja tak często robię w takich sytuacjach bo też przecież się z nimi spotykam. Niestety programowanie to w znacznej mierze szukanie naszych błędów. I o TYM warto pamiętać - bo jak się dobrze poszuka - czasem nawet spędzi się nad tym kilka dni a może miesięcy - ale jak się znajdzie BYKA to potem człowiek nie może uwierzyć że to było tak banalne, taki błąd prosty i to nie np w bibliotekach tuxgraphicsa tylko w moim własnym kodzie - bo mi gdzieś się tam np zapomniało że a to przekraczam granicę tablicy i nadpisuję coś, albo gdzieś mi stos idzie w diabły, albo coś źle rzutuję przy udziale wskaźników itp itd itp
z doświadczenia wiem, że warto iść najpierw tą drogą - a po watchdoga to wiesz kiedy sięgać ?
wtedy gdy projekt już pracuje non stop, przez ileś dni i nie można wyłapać już ŻADNEGO BŁĘDU, ŻADNEJ ZWIECHY ... O! to jest moment tuż przed oddaniem projektu aby włączyć watchdoga "NA WSZELKI WYPADEK" .... Bo po to on jest a nie po to aby łatać dziury - bo jak sam widzisz - przylepienie jednej łaty powoduje że projekt PRUJE się dalej i mocniej i powstają jeszcze większe DZIURY i znowu ŁATY .....
reasumując - moim zdaniem, i tak ZAWSZE - suma sumarum, szybciej (chociaż to pojęcie względne) potrwa wyszukanie błędu niż próba jego ŁATANIA ...
stąd kolejny wniosek, że sztuka programowania to nie tylko programowanie i debugowanie ale jeszcze coś ... jeszcze tworzenie kodu do wyszukiwania - symulacji błędów .... O! ... to jest kolejne "TO"
Ja np nie mógłbym pójść spać - gdybym klientowi miał oddać projekt, który mi się wiesza czasem na stole .... i miałbym to próbować watchdogiem załatwiać. Bo zawsze wiem , że takie coś wróciłoby do mniej jak koci bumerang tylko że ze zdwojoną jak nie potrojoną siłą .... np za pół roku - i wtedy leżysz już sobie na wakacjach odpoczywasz - cieszysz się że u klienta działa a tu telefon .... ! Panie Kowalski - system mi się wyłożył i hala maszyn stoi ... zrób pan coś - bo tylko pan wiesz o co tam chodzi
------------------------ [ Dodano po: 5 minutach ]dlatego jak piszesz że po jakiejś tam ramce się wiesza - to hajda:
1. sprawdzanie czy stos się nie przepełnia - nawet w przerwaniu watchdoga - można przecież - w greenbooku masz przepis jak to sprawdzać
2. stworzenie przejściowo działającego kodu z własnymi wstawkami debugującymi czyli np przesyłającymi LOG'i z operacji po każdej odebranej albo tylko po niektórych ramkach i wysyłanie ich przez RS232 do terminala czy na kartę SD a potem przeglądanie żmudne
nie ma że boli - każdego BUG'a da radę złapać i nogi mu wyrwać

z tyłka

jak mówię jeden z moich projektów działa już w jednej firmie i to na stosie tuxgraphicsa po UDP z wieloma komputerami ... mającymi dostęp do sterowania tym urządzeniem ... hmm dzisiaj to już chyba będzie ze 2-3 lata ... Jest watchdog ... ale jeszcze (nawet sam się dziwię) ani razu się nie odezwał bo aplikacje na kompach miałyby zwiększony licznik odpaleń watchdoga
