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: 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" 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/ |