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

[Atmega644p][C] - programowy reset - nie watchdog

rsikon 14 Mar 2010 10:59 1967 11
REKLAMA
  • #1 7827180
    rsikon
    Poziom 26  
    Witam,

    podpowiedzcie mi jak wykonać wymuszony reset mojego urządzenia. Najlepiej nie korzystając z watchdog.

    Może to być dla Atmegi8, 32 czy 644p.

    Jak wymusić "poleceniem" zresetowanie się urządzenia. Najlepiej bez kombinacji z wyprowadzeniem reset.

    Radek
  • REKLAMA
  • #2 7827319
    Konto nie istnieje
    Poziom 1  
  • #3 7827366
    _Robak_
    Poziom 33  
    Możesz dać taką linijkę
    
    asm("jmp 0xFF00");
    

    Oczywiście wartość musi być tak dobrana żeby nie trafić w jakąś instrukcję bo będą jaja;) Oczywiście rozwiązanie jest jak najbardziej głupie, ale spełnia Twoje założenia;) Polecam jednak myk z watchdogiem.
  • #4 7827404
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #5 7827424
    _Robak_
    Poziom 33  
    Program się resetuje jak go jumpniesz w kosmos, symulator to potwierdza;)
  • REKLAMA
  • #6 7827608
    Konto nie istnieje
    Poziom 1  
  • #7 7827658
    _Robak_
    Poziom 33  
    Napisałem to trochę z przymrużeniem oka;) Ale właśnie sprawdziłem co się dzieje, program idzie do tego adresu, po czym leci do końca pamięci aż, tak jak napisałeś, dojdzie do adresu 0. Czyli można by po prostu jumpnąć go do adresu 0;)
  • REKLAMA
  • #8 7827670
    Konto nie istnieje
    Poziom 1  
  • #9 7827684
    _Robak_
    Poziom 33  
    Program się zresetuje:> O to chyba chodziło nie;)
  • #10 7827762
    Konto nie istnieje
    Poziom 1  
  • #11 7827772
    Mat_91
    Poziom 25  
    _Robak_ napisał:
    Program się zresetuje:> O to chyba chodziło nie;)


    Z tego co ja zrozumiałem to autorowi chyba chodzi o reset w którym to program wróci na początek, zmienne przyjmą wartości początkowe itp, czyli całkowite zresetowanie uC, a twój sposób chyba gwarantuje tylko powrót programu na początek, bez resetu zmiennych, rejestrów etc.- czyż nie?

    EDIT: no i atom to już wyjaśnił:)
  • #12 7827876
    _Robak_
    Poziom 33  
    Toś się atom1477 uwziął no:> Będzie to, że tak powiem, softwareowy rest, teraz pasuje?;) No jest to oczywiste że jak timer liczył to i będzie dalej liczyć itp. A zmienne akurat przyjmą wartości początkowe. Sam program wykona się całkowicie poprawnie od początku, kolega chciał usłyszeć alternatywę, jakaś to na pewno jest, czy jest dobra? Od początku pisałem, że nie bardzo;) Ale przy świadomym jej użyciu, czemu nie:)
REKLAMA