ATNEL tech-forum
https://forum.atnel.pl/

Watchdog reset
https://forum.atnel.pl/topic19736.html
Strona 1 z 1

Autor:  janek9971 [ 3 gru 2017, o 12:19 ]
Tytuł:  Watchdog reset

Witam,

Mam pytanie odnośnie tzw. programowego RESETU.

Tutaj cytat z bloga Pana Mirka:
Cytuj:
Spójrz więc na kod poniżej i spróbuj powiedzieć co on ma za zadanie?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

-------------------------------------------
Jak się domyślasz w pierwszej linii uruchamiamy Watchdoga. W drugiej linii wyłączamy przerwania, bo gdzieś może w którymś z nich mogło być pozostawione polecenie wdt_disable() albo wdt_reset(), więc mamy pewność że żadne z nich się nie wykona ;) a następnie w trzeciej linii tworzymy pętlę nieskończoną, która także nie zawiera wyłączenia czy też zresetowania watchdoga. Ustawiliśmy możliwie najkrótszy czas do przepełnienia timera (ilość dostępnych czasów zależy od wersji procka jakim się posługujemy). A zatem gdy ta pętla będzie się wykonywać, to podziała ona tylko przez 15 ms i CIACH, nastąpi RESET procesora. Tak tak - to właśnie najprostszy sposób na programowy RESET procesora i to prawidłowy reset procesora. Dlatego dobrze go sobie zapamiętaj bo czasem może ci się przydać


Oraz również kod z komend_at Pana Mirka

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Niestety obie te opcje nie działają w moim przypadku prawidłowo, może nie rozumiem ich działania ale spodziewałem się, że wykona to RESET procesora i tyle. Jednak gdy uruchamiam tę komendę to uC wpada w nieskończone Resetowanie się cały czas, nawet jak chcę wgrać nowy program to niestety się nie wgra bo cały czas jest reset i nie przerwie go tylko dalej się resetuje. Muszę wtedy odłączać zasilanie.

Autor:  xentis [ 3 gru 2017, o 12:49 ]
Tytuł:  Re: Watchdog reset

Niektóre procki mają opcję WDTON która to opcja właśnie powoduje takie zachowanie jak opisujesz. Więc albo w fusach ją wyłącz albo skorzystaj z porady Mirka dostępnej tu http://atnel.pl/mkbootloader.html na dole strony sekcja wyróżniona na czerwono "KOLEJNA UWAGA"

Autor:  rskup [ 3 gru 2017, o 12:59 ]
Tytuł:  Re: Watchdog reset

Czy na samym początku programu po starcie kasujesz watchdoga, bo restart przez niego nie wyłącza go. Więc musisz go natychmiast wyłączyć, by się nie zresetował procesor ponownie.
Jeżeli to nie pomaga, to problemem jest za długie startowanie (wykonywanie funkcji dokładanych przez kompilator). Więc zastosuj się do rady xentis-a lub korzystaj z dłuższego czasu watchdoga - trochę dłużej poczekasz na reset, ale czy 15ms czy 100 ms, to chyba nie jest widoczna różnica.

--
Pozdrawiam,
Robert

Autor:  janek9971 [ 3 gru 2017, o 17:15 ]
Tytuł:  Re: Watchdog reset

@Xentis
Przetestuję tę opcję

@rskup
Chodzi Ci o "wdt_disable()" napisany w taki sposób?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 10 minutach ]

Dobra już znalazłem.

Dodałem ten kod co podrzuciłeś mi w linku i działa jak trzeba. Teraz widzę, że Mirek o tym pisał na blogu. Sam się śmiałem jak we vlogach Mirek mówi o ludziach którzy nie czytają do końca, a zrobiłem dokładnie to samo :D

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A co do WDTON to w mkAVR Calculator wydaje się być wyłączony.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/