logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Bascom] Pytanie o watchdoga.

miroskop 10 Cze 2008 19:33 2427 6
REKLAMA
  • #1 5233111
    miroskop
    Poziom 23  
    Według opisu watchdoga najdłuższy możliwy czas do resetu procesora to około dwie sekundy. W związku z tym mam pytanie: Czy jeśli w pętli głównej lub podprogramie mam umieszczoną funkcję "Wait" o czasie trwania np. 3 sekundy, to watchdog w tym czasie zresetuje procesor czy nie? Krótko mówiąc: czy funkcja Wait blokuje licznik Watchdoga? A może trzeba najpierw zatrzymać zliczanie poleceniem "Stop Watchdog", potem "Wait" i "Start Watchdog". Piszę sobie program a nie mam w tej chwili możliwości sprawdzenia doświadczalnie tego problemu.
  • REKLAMA
  • Pomocny post
    #2 5233350
    yakuza_2000
    Poziom 21  
    Funkcja Wait nie blokuje Watchdog -a, zrób to co zaproponowałeś - Stop Watchdog - Wait - Start Watchdog

    Pozdrawiam
  • REKLAMA
  • #3 5234779
    autoservice
    Poziom 20  
    ...zazwyczaj takie funkcje mają w "sobie" reset licznika watchdoga
    pzdr.
  • REKLAMA
  • #4 5235736
    yakuza_2000
    Poziom 21  
    W helpie Bascoma nie ma nic wspomniane o tym aby się licznik sam blokował.

    Pozdrawiam
  • REKLAMA
  • #5 5239921
    Michał_z1
    Poziom 16  
    Witam.
    Bo nie blokuje, było by to bez sensu. A najlepiej to sprawdzić samemu.
    pozdro.
  • Pomocny post
    #6 5241729
    marek_Łódź
    Poziom 36  
    Funkcje wait (waitms) w BASCOM nie blokują i nie resetują watchdoga. Wyłączanie watchdoga w czasie odczekania może prowadzić do sytuacji, gdy wchodzące w tym czasie zakłócenie zablokuje nam na stałe procesor. Dlatego lepiej wstawić pętelkę z resetowaniem watchdoga i zostawić watchdog włączony:

    for i=1 to 3
      reset watdog
      wait 1
    next
  • #7 5241986
    miroskop
    Poziom 23  
    Dziękuję za pomoc. Najlepsze rozwiązanie to chyba te, które podał marek_Łódź. Podzielenie Waita na krótsze odcinki z resetem Watchdoga pomiędzy nimi powinno załatwić problem.
REKLAMA