RTV forum PL | NewsGroups PL

Dobre praktyki resetowania watchdog timer'a w obsłudze przerwań - WDT

Dobre reguly programowania - WDT

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Dobre praktyki resetowania watchdog timer'a w obsłudze przerwań - WDT

roxy
Guest

Mon Feb 02, 2009 10:20 pm   



Witam.
Czy sa jakies reguly gdzie nalezy lub nie nalezy dokonywac resetu watchdog
timer'a?
Czy można dokonywac resetu WDT w funkcji obsl. przerwania (np. w funkcji
obsl przerwania timera)?

Wezmy Dla przykladu:
Pomiar temp jest dokonywany w funkcji obsl. przerwania od timera i w
zaleznosci od wyniku pomiaru zalaczana jest pompa oraz wyswietlenie wyniku
pomiaru na LCD .
W funkcji glownej jest zamieszczona tylko obsl. klawiatury.
Gdzie najlepiej resetowac w takim programie WDT.

Mario
Guest

Mon Feb 02, 2009 10:42 pm   



roxy pisze:
Quote:
Witam.
Czy sa jakies reguly gdzie nalezy lub nie nalezy dokonywac resetu watchdog
timer'a?
Czy można dokonywac resetu WDT w funkcji obsl. przerwania (np. w funkcji
obsl przerwania timera)?

Wezmy Dla przykladu:
Pomiar temp jest dokonywany w funkcji obsl. przerwania od timera i w
zaleznosci od wyniku pomiaru zalaczana jest pompa oraz wyswietlenie wyniku
pomiaru na LCD .
W funkcji glownej jest zamieszczona tylko obsl. klawiatury.
Gdzie najlepiej resetowac w takim programie WDT.

Procek może utknąć w jakiejś pętli (np na skutek przestawienia jakiejś
wartości rejestru lub licznika rozkazów). Będzie z tego miejsca wyrywany
przerwaniem od timera ale nie będzie wracał do pętli głównej tylko do
tego miejsca. Lepiej w pętli głównej dać sprawdzanie flagi ustawianej
timerem i jeśli ustawiona to resetować WD. W ten sposób masz obsługę
cykliczną WD i wykrywanie jeśli procek uciekł z pętli głównej.

--
Pozdrawiam
MD

entroper
Guest

Mon Feb 02, 2009 11:00 pm   



Użytkownik "roxy" <kicak@o2.pl> napisał w wiadomości
news:gm7o3n$281$1@inews.gazeta.pl...

Quote:
Czy sa jakies reguly gdzie nalezy lub nie nalezy dokonywac resetu watchdog
timer'a?
Czy można dokonywac resetu WDT w funkcji obsl. przerwania

właśnie przytoczyłeś regułę, gdzie nie należy :)

e.

Marek Lewandowski
Guest

Tue Feb 03, 2009 12:45 pm   



On Feb 2, 10:20 pm, "roxy" <ki...@o2.pl> wrote:

Quote:
Wezmy Dla przykladu:
Pomiar temp jest dokonywany w funkcji obsl. przerwania od timera i w
zaleznosci od wyniku pomiaru zalaczana jest pompa oraz wyswietlenie wyniku
pomiaru na LCD .
W funkcji glownej jest zamieszczona tylko obsl. klawiatury.
Gdzie najlepiej resetowac w takim programie WDT.

W takich punktach, jak program powinien pracowac.
Przyklad:
Program czyta temp. w przerwaniu, a petla glowna sie kreci w kolko i
czeka na flage z przerwania. W przerwaniu resetujesz WDT, ale TYLKO
poki nie ma nic do roboty. W momencie, gdy ustawiasz flage
uruchomienia pompy PRZESTAJESZ zerowac WDT w przerwaniu, za to w
obsludze pompy jest wstawiony reset WDT. Jesli teraz procedura nie
zalapie, bo glowna petla programu poszla sie kochac, to WDT resetuje
cala zabawe.
Jesli w petli glownej przelatujesz obsluge klawiatury, to dodaj sobie
zmienna globalna KBD_nOK i zeruj ja przy kazdym sprawdzeniu
klawiatury. W przerwaniu timera ustawiaj na koncu te flage, a WDT
kasuj tylko, gdy na poczatku (nastepnego) wywolania timera KBD_nOK==0
(czyli w miedzyczasie klawiatura zostala obsluzona). Itd.
Ogolnie:
- przy watkach cyklicznie, ale asynchronicznie obslugiwanych wybierz
sobie jeden, ktory wywolywany jest zawsze i tam kasuj WDT, ale pod
warunkiem, ze wszystkie pozostale watki, ktore powinny byc wykonywane,
odhaczyly swoje indywidualne flagi, po czym ustawiaj im te flagi na
nowo.
- dla watkow wywolywanych acyklicznie i tez zdefiniuj flagi i rezygnuj
z cyklicznego kasowania WDT, dopoki sie te watki nie zakoncza,
natomiast WDT kasuj w nich samych.

No i na koniec: wszystko mozna spieprzyc.

--
Marek Lewandowski
ICQ#/GG#: ask per mail. mail: locust[X]poczta/onet/pl
my gallery: http://www.pbase.com/mareklew
my kind-of-a-blog: http://lockaphoto.stufftoread.com

elektroda NewsGroups Forum Index - Elektronika Polska - Dobre praktyki resetowania watchdog timer'a w obsłudze przerwań - WDT

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map