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

Procesor resetuje się w kółko po watch-dog
https://forum.atnel.pl/topic20981.html
Strona 1 z 1

Autor:  Jarosław J [ 12 lip 2018, o 09:40 ]
Tytuł:  Procesor resetuje się w kółko po watch-dog

Hej. Znów nie mogę dojść do porządku, i mam wrażenie że tym razem sprawa nie będzie prosta.
Korzystam z bibliotek z GB dot USART i komend AT. Używam Atmegi 328P taktowanej kwarcem 16MHz
Kiedy wpiszę z terminala polecenie AT+RST w odpowiedzi mam na terminalu " za 1.5s - restart", po czym procesor resetuje się w kółko z częstotliwością 5 razy na sekundę. Bez przerwy w kółko.
Po podaniu zera na pin RESET procesor przez czas występowania tego zera nie działa (tak ma być), jednak zaraz po zdjęciu zera znów wstaje i się resetuje dalej tak samo. Skuteczne jest tylko odcięcie napięcia i ponowne jego podłączenie.

Próbowałem zakładać pułapki z diodą LED, w następujący 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.



w tej sytuacji dioda LED miga z częstotliwością ok 5 Hz. czyli program dochodzi do jej zapalenia po czym procesor jest resetowany i tak w kółko.
Kiedy natomiast na samym początku funkcji main dam wait_ms (1000);, program nie dochodzi nawet do zapalenia tych diod a i tak procesor się resetuje. Wychodzi zatem na to, że dzieje się to jakoś automatycznie bez względu na program. Próbowałem także na początku maina wpisać wdt_disable();, bezskutecznie.
W sieci znalazłem tylko podobny problem: https://www.elektroda.pl/rtvforum/topic1013453.html ktoś go rozwiązał - jak pisze - wyłączając watch-doga w sekcji Init (ostatni post)

Czy wie ktoś o jaką sekcję init chodzi temu autorowi? (temat na elektrodzie jest zamknięty ) Czy chodzi tu o własną funkcję autora?
I finalne pytanie - czy wie ktoś jak wyłączyć to ciągłe resetowanie się procesora.

Autor:  RYSZARD M [ 12 lip 2018, o 10:19 ]
Tytuł:  Re: Procesor resetuje się w kółko po watch-dog

chyba chodzi o odwołanie się do funkcji void wdt_disable (void) która jest zawarta w bibliotece wdt.h
#include <avr/wdt.h> // obsługa układu Watchdog
o Watchdoga Mirek zrobił poradnik http://mirekk36.blogspot.com/2012/10/watchdog-avr-prostsze-niz-myslisz.html

Autor:  mczarny [ 12 lip 2018, o 10:35 ]
Tytuł:  Re: Procesor resetuje się w kółko po watch-dog

Wstaw takie coś przed funkcją main zaraz po "includach"
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

P. Mirek pisze o tym na blogu gdy omawia bootloader
https://atnel.pl/mkbootloader.html
pozdrawiam

Autor:  Jarosław J [ 12 lip 2018, o 16:02 ]
Tytuł:  Re: Procesor resetuje się w kółko po watch-dog

Wszystko działa już jak powinno. Trzeba tylko wiedzieć gdzie szukać. Bardzo dziękuję!!

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