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

Jak zresetować uC w BASCOM

TomekMus 07 Maj 2009 00:53 3187 10
  • #1 6500345
    TomekMus
    Poziom 17  
    Czy jest możliwość zresetowania ATmegi w kodzie programy BASCOM?
  • Pomocny post
    #2 6500385
    K_o_n_r_a_d
    Poziom 23  
    Jest kilka możliwości. Tak samo w Bascomie jak i w każdym innym języku/kompilatorze. Można uruchomić WATCHDOGa i odczekać w pustej pętli aż zresetuje, można połączyć dowolne wyjście mikrokontrolera z wejściem resetu i zresetować, gdy potrzeba.
    Np tak:
    CONFIG WATCHDOG = 16
    start watchdog
    do:loop


    A dlaczego chcesz resetować? Nie lepiej napisać program tak aby reset programowy nie był potrzebny?
  • #3 6500390
    TomekMus
    Poziom 17  
    Mam program, który po otrzymaniu danych z RS'a musi odpalić się od nowa i potrzebuje w programie wstawić sobie "ResetATmega" by załadować wszystkie dana otrzymane od nowa (dużo to przyspieszy inicjalizację i aktualizacje zmiennych)

    Dodano po 1 [minuty]:

    Z tego postu rozumiem że po 16 taktach zegara będzie wykonany reset?
  • Pomocny post
    #4 6500392
    K_o_n_r_a_d
    Poziom 23  
    Da się zrobić to bez resetu - praktycznie zawsze da się, tylko trzeba zmienić ideę działania program.
    Reset jest mało eleganckim sposobem rozwiązywania takich problemów.

    Przeznaczenie:
    
    Konfiguruje opóźnienie zadziałania układu WATCHDOG.
    
    Składnia:
    
    CONFIG WATCHDOG = czas
    
    gdzie:
    
    czas	czas w milisekundach po jakim układ WATCHDOG uaktywni sygnał reset procesora. Możliwe są wartości: 16, 32, 64, 128, 256, 512, 1024 oraz 2048.
    
    (c) Zbigniew Gibek, 2002-2005   (c) MCS Electronics, 1999-2005
  • #5 6508224
    Konto nie istnieje
    Poziom 1  
  • #6 6508483
    mirekk36
    Poziom 42  
    można też użyć najprostszego sposobu, czyli polecenie asm w Bascomie:



    to taki programowy RESET ;) .... ale oczywiście, przyłączam się do opinii przedmówców, że resetowanie procka w programie po to, żeby zainicjalizować zmienne itp - to absurdalny pomysł. Lepiej od początku uczyć się tak pisać programy, żeby tego nie robić. I nikt mi nie wmówi, że inaczej, bez resetu się nie da - jeśli wszystko działa prawidłowo i procek się nie zawiesił. A jak się zawiesił to wtedy jest własnie mechanizm watchdog
  • #7 6509495
    Konto nie istnieje
    Poziom 1  
  • #8 6509654
    mirekk36
    Poziom 42  
    emarcus - napisałem przecież, że to programowy reset więc po co to tłumaczenie noty katalogowej ? ;) dokładnie to miałem na myśli.

    poza tym pytanie było:
    TomekMus napisał:
    Czy jest możliwość zresetowania ATmegi w kodzie programy BASCOM?


    a nie jakieś "Jak ...."

    swoją drogą - pisałem też, że w normalnych warunkach nie ma zbyt wielkiej potrzeby takich resetów stosować. A jeśli ktoś tak pisze program, że nawet po programowym resecie nie jest pewien tego jak zostaną zainicjalizowane jego zmienne, dane , wszystkie porty - to niech się jak najszybciej oduczyć pisać soft w tak bałaganiarski sposób bo do nieczego dobrego to nie doprowadzi.

    więc czytaj uważniej
  • #9 6514695
    Robgie
    Poziom 27  
    Podepnę się pod temat gdyż mam inny problem ale myślę że rozwiązanie może byc podobne.
    Zrobiłęm układ do motocykla , taki wskaznik kilku wartosci. Problem polega na tym że nieraz w okolicznościach ktorych nie jestem w stanie jednolicie określić, albo atmega się wiesza albo lcd mi gaśnie. W każdym razie wystaczy wyłączyć i włączyć zasilanie i wraca do normy. Myślałem nad zrobieniem takiego softowego resetu co pewien czas tak żeby mi to jakoś wyjaśniło co jest powodem. Czy jest jakiś reset który się wykonuje jeśli to procek się wiesza?
  • #10 6514778
    mirekk36
    Poziom 42  
    Robgie napisał:
    Czy jest jakiś reset który się wykonuje jeśli to procek się wiesza?


    no przecież cały czas wałkujemy temat "watchdoga" między innymi.

    Watchdog to jest to czego potrzebujesz.
  • #11 6515029
    Robgie
    Poziom 27  
    Ok doczytałem jak działa watchodg i faktycznie to jest to czego szukam.
REKLAMA