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



Teraz jest 1 lut 2026, o 22:26


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 23 lut 2018, o 12:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lut 2013
Posty: 158
Lokalizacja: KTT
Pomógł: 1

Witam.
Mam problem z komendą AT+RST jak w temacie - po jej zastosowaniu procek stale się resetuje.
Nie wiem co może być przyczyną. Używam bibliotek z GB przeportowanych na procka ATMega644PA. W poprzednim projekcie działało wszystko dobrze. Teraz w nowym projekcie inne komendy działają poprawnie, a po zastosowaniu AT+RST 'coś' resetuje procka, tyle że bez przerwy...
Macie jakieś sugestie?

Procek: ATMega644PA
Taktowanie: 11059200
Fusebity: WDTON - wyłączony (odznaczony)

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

_________________
Gordon



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 14:35 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 232
Pomógł: 26

Pod skórą czuję że problem tkwi w jakimś przerwaniu które jest ustawione ale nie jest podpięta jego obsługa.
To jest najczęstszy przypadek resetowania się w kółko.
Może jakiś licznik czy cóś.
Przejrzyj na spokojnie kod.
Załóżmy że restart jest robiony zanim upłynie 1500 ms i wyłączysz przerwanie.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 14:58 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

Proponuję poczytać http://www.nongnu.org/avr-libc/user-manual/group__avr__watchdog.html
zaczynając od słów:
Cytuj:
Note that for newer devices (ATmega88 and newer, effectively any AVR that has the option to also generate interrupts), the watchdog timer remains active even after a system reset (except a power-on condition), using the fastest prescaler value (approximately 15 ms). It is therefore required to turn off the watchdog early during program startup

Prościej mówiąc po resecie należy wyłączyć watchdoga, i to jak najszybciej. Rozwiązanie masz podane w dokumencie, do którego łącze podałem.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 17:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lut 2013
Posty: 158
Lokalizacja: KTT
Pomógł: 1

JarekB napisał(a):
Pod skórą czuję że problem tkwi w jakimś przerwaniu które jest ustawione ale nie jest podpięta jego obsługa.

Raczej nie, sprawdzałem to ale nie widzę żeby jakieś włączone przerwanie nie było obsługiwane.
gordon10 napisał(a):
Może jakiś licznik czy cóś.

Liczników, póki co, nie włączałem

andrews napisał(a):
Prościej mówiąc po resecie należy wyłączyć watchdoga, i to jak najszybciej.

wpisuję wdt_disable(); zaraz na początku f. main() ale to nic nie daje.

Muszę jeszcze raz przejrzeć cały kod na spokojnie i od początku.

Tak na marginesie - po tym AT+RST nic nie daje wciśnięcie RESET na ATB. Tylko odłączenie zasilania pomaga.

------------------------ [ Dodano po: 3 minutach ]

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

może pomoże

_________________
Gordon



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 17:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Na stronie Atnel.pl w opisie do programu MkBootloader http://atnel.pl/mkbootloader.html na dole strony przeczytaj tekst rozpoczynający się tytułem "UWAGA! Watchdog - Bootloader oraz Enhanced Watchdog Timer". Zastosuj rozwiązanie tam przedstawione.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 17:26 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

jacekk232 napisał(a):
Na stronie Atnel.pl w opisie do programu MkBootloader http://atnel.pl/mkbootloader.html na dole strony przeczytaj tekst rozpoczynający się tytułem "UWAGA! Watchdog - Bootloader oraz Enhanced Watchdog Timer". Zastosuj rozwiązanie tam przedstawione.

Mam nieodparte wrażenie, że pisałem już o tym samym kilka postów wyżej ;)
Autor wątku zapewne nie przeczytał zbyt uważnie dokumentu, do którego łącze podałem. Wynika z niego wyraźnie, że wyłączenie watchdoga na początku funkcji main() to już za późno.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 17:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

andrews napisał(a):
Mam nieodparte wrażenie, że pisałem już o tym samym kilka postów wyżej ;)

Całkowicie się z kolegą zgadzam. Jednak ja również odniosłem wrażenie, że kolega gordon10 chyba nie dość dokładnie to przeczytał. Dlatego podałem to samo tylko napisane w ojczystym języku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 17:55 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

jacekk232 napisał(a):
Dlatego podałem to samo tylko napisane w ojczystym języku.

Wiadomo - język ojczysty zawsze jest bardziej zrozumiały. Niemniej ja wychodzę z założenia, że dla programisty język angielski powinien być co najmniej drugim językiem ojczystym, więc nigdy nie zaszkodzi poćwiczyć ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 18:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lut 2013
Posty: 158
Lokalizacja: KTT
Pomógł: 1

Przyznaję się Koledzy :) Zajrzałem tylko pobieżnie... Wieczorkiem usiądę do tego na spokojnie. Przeczytam, a później prześledzę kod i wszystkie ustawienia.
Pewnie diabeł jak zwykle tkwi w szczegółach :evil:

_________________
Gordon



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2018, o 20:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lut 2013
Posty: 158
Lokalizacja: KTT
Pomógł: 1

Dzięki koledzy: andrews i jacekk232. Teraz już wszystko śmiga :)
Przy poprzednim projekcie miałem wgranego bootloadera i było ok. Tutaj jednak trzeba było się zająć resetem tego watchdoga według opisu w linkach. Pewnie długo bym nad tym siedział, gdyby nie Wasza pomoc.
Jeszcze raz dziękuję :)

_________________
Gordon



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: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO