eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Dobre reguly programowania - WDT
Ilość wypowiedzi w tym wątku: 4

  • 1. Data: 2009-02-02 21:20:51
    Temat: Dobre reguly programowania - WDT
    Od: "roxy" <k...@o...pl>

    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.



  • 2. Data: 2009-02-02 21:42:16
    Temat: Re: Dobre reguly programowania - WDT
    Od: Mario <l...@p...onet.pl>

    roxy pisze:
    > 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


  • 3. Data: 2009-02-02 22:00:10
    Temat: Re: Dobre reguly programowania - WDT
    Od: "entroper" <e...@C...spamerom.poczta.onet.pl>

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

    > 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.


  • 4. Data: 2009-02-03 11:01:27
    Temat: Re: Dobre reguly programowania - WDT
    Od: Marek Lewandowski <l...@p...onet.pl>

    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

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: