Går inte att "nolla" avbrottsflaggor

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Oavsett var din "flanker < 5" ligger *eller* hur koden ser ut för övrigt, så
får det inte finnas *NÅGON* plats där koden kan "fastna", om man säger så.

Det måste alltid finnas en "väg ut" från *alla* felsituationer, om det så bara
är via WDT (om du inte fixar att lösa det på annat sätt i koden...)
StRob
Inlägg: 167
Blev medlem: 15 maj 2007, 09:30:47
Ort: Karlstad

Inlägg av StRob »

Jo det är just vad jag försöker åstakomma..
EDIT: Jag hade tänkt att jag skulle nolla min overflow variabel vid varje "varv" i koden så om den fastnar på något ställe så ska overflow variabeln fixa en omstart.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

Det är vad typiskt WDT är till för.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

WDT är till för det *oförutsedda*. :-)

Det man kan räkna ut i förväg att det *kan* hända
kan man hantera bättre än med WDT...

Nu beror det ju även på hur vanligt det är att "flanker"
blir > 5, händer det en gång per år så kanske en
omstart (via WDT) är OK, om det händer ofta så kanske
man vill "ta hand" om det på ett lite snyggare sätt.

Men förvisso, man kan ju kolla efter omstarten att det faktiskt
var en omstart via WDT och sedan ha speciell kod som tar hand
om det (och t.ex kollar *varför* WDT triggade).
Skriv svar