-
Data: 2009-02-03 11:01:27
Temat: Re: Dobre reguly programowania - WDT
Od: Marek Lewandowski <l...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Feb 2, 10:20 pm, "roxy" <k...@o...pl> wrote:
> 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
Najnowsze wątki z tej grupy
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
Najnowsze wątki
- 2024-12-12 Warszawa => Administrator Bezpieczeństwa IT <=
- 2024-12-12 Ostrów Wielkopolski => Trener zespołu sprzedaży Call Center <=
- 2024-12-12 Kraków => Key Account Manager <=
- 2024-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=