Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 31 mar 2020, o 10:31


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
 Tytuł: Watchdog reset
PostNapisane: 3 gru 2017, o 12:19 
Offline
Nowy

Dołączył(a): 20 paź 2017
Posty: 13
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2017, o 12:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 870
Lokalizacja: Trójmiasto
Pomógł: 164

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 postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2017, o 12:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1478
Pomógł: 167

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2017, o 17:15 
Offline
Nowy

Dołączył(a): 20 paź 2017
Posty: 13
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO