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



Teraz jest 28 mar 2024, o 10:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 4 gru 2011, o 22:06 
Offline
Nowy

Dołączył(a): 04 gru 2011
Posty: 10
Pomógł: 0

Witam,

Mam problem z wskazaną lekcją przy zmianie uK na ATMEGA644PA.
Programator USBasp, programowanie przez eclipse, fusy ustawiłem przez calculator avr (wyłączyłem jtaga, ustawiłem taktowanie zewnętrzne >8Mhz, wyłączyłem podział f/8 - ale to zapewne tylko odnosi się do taktowania wewnętrznego).
W gotowej lekcji zmieniłem nazwy rejestrów timera2 na odpowiednie atmega644pa i zmieniłem nazwę przerwania.
Nie wiem czy wina tkwi w fuse bitach, czy jednak nie do końca ustawiam przy zmianach odpowiednio timer2.
Wszystko się skompilowało, wgrało i niestety timery nie działają (wstawiłem w przerwaniu wyłączenie podświetlania LCD dla sprawdzenia)
Transmisja po UDP śmiga. Nie działa funkcja bezpośrednio powiązana z timerem - SuperDebounce.
Zapewne coś nie tak mam z ustawieniem timera?, (coś jeszcze trzeba dodać?).
Proszę o pomoc, udostępnienie działającego kodu lekcji pod 644.

Pozdrawiam.
stanisław

Zmiany:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:12 
Offline
Użytkownik

Dołączył(a): 05 lis 2011
Posty: 81
Pomógł: 0

a czy w ustawieniach projektu zmieniles nazwe uC i jego taktowanie ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:17 
Offline
Nowy

Dołączył(a): 04 gru 2011
Posty: 10
Pomógł: 0

Michal_PB1 napisał(a):
a czy w ustawieniach projektu zmieniles nazwe uC i jego taktowanie ?


Tak zmieniłem, uK: ATmega644P, taktowanie: 11,0592MHz - zostało tyle było i tyle miało być, projekt "przeczyściłem".



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:19 
Offline
Użytkownik

Dołączył(a): 05 lis 2011
Posty: 81
Pomógł: 0

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

tryb CTC w timer 2b -> chyba tu sie pomyliles bo mialo byc TCCR2A ?
a presklare w timer 2a



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:37 
Offline
Nowy

Dołączył(a): 04 gru 2011
Posty: 10
Pomógł: 0

^^
Dwa timery w timerze? Wydaje mi się, że te bity ustawia się tylko raz w danym timerze. Zapewne trzeba ustawić "coś" jeszcze. :(

CSy dla Timera2 są tylko w rejestrze TCCR2B.



Ostatnio edytowano 4 gru 2011, o 22:40 przez woow, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:39 
Offline
Użytkownik

Dołączył(a): 05 lis 2011
Posty: 81
Pomógł: 0

a próbowales zmienic i spr ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:42 
Offline
Nowy

Dołączył(a): 04 gru 2011
Posty: 10
Pomógł: 0

Zmieniałem prawie wszystko co możliwe pomiędzy A i B.
Zostawiłem tak, jak jest zgodnie z datasheetem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:44 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Michal_PB1 napisał(a):
a nie ustawiasz przypadkiem 2 timerow ?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

tryb CTC w timer 2b -> chyba tu sie pomyliles bo mialo byc TCCR2A ?
a presklare w timer 2a


Nie nie - tu jest wszystko dobrze poustawiane dla m644PA zarówno WGM21 bo jest w TCCR2A oraz preskaler bo bity są w TCCR2B. Przerwanie także dobrze w TIMSK2 hmmmm

a na pewno są odblokowane przerwania globalne za pomocą sei(); w programie głównym ?

Generalnie dobrą kolega drogą idzie sprawdzając w ten sposób czy działa przerwanie. Trzeba je odpalić oczywiście, więc czekam na info n/t sei();

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:45 
Offline
Nowy

Dołączył(a): 04 gru 2011
Posty: 10
Pomógł: 0

sei() jest. Kod 1:1 z tym dodanym do książki, zmieniłem tylko to co pokazałem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

hmmm proszę spakować do ZIP albo RAR i mi na maila cały ten zmieniony projekt podesłać ok? biuro@atnel.pl to postaram się rzucić okiem.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 22:54 
Offline
Nowy

Dołączył(a): 04 gru 2011
Posty: 10
Pomógł: 0

wysłane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 23:16 
Offline
Nowy

Dołączył(a): 04 gru 2011
Posty: 10
Pomógł: 0

Właśnie wymieniłem uK na nową 644PA, ustawiłem ponowie fusy, wgrałem program i wszystko śmiga jak należy.
Problem może tkwić w konkretnym egzemplarzu uK? W końcu oba były nowe ;/
Dziękuję za pomoc, przepraszam, że niepotrzebnie jak się okazało, zawracałem głowę.

Pozdrawiam serdecznie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2011, o 23:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

No właśnie oglądałem kod i błędów nie widzę. Ja jednak byłbym bardzo daleki od tego żeby obwiniać procka - bo to byłoby zbyt dziwne. Proponuję go jeszcze raz włożyć, zaprogramować i sprawdzić. No bo jak ??? wszystko działa w nim tylko ten Timer2 nie działa ? to byłby istny cud i aż bym chciał taki przypadek zobaczyć na swoim stole operacyjnym. Więc gdyby kolega doszedł już do wniosku, że jest z nim coś mocno nie tak - to proszę go w razie czego nie wyrzucać tylko podesłać do mnie - zrobię mu trepanację ;) programową oczywiście. Ale cieszę się że ruszyło wszystko.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2011, o 19:02 
Offline
Nowy

Dołączył(a): 04 gru 2011
Posty: 10
Pomógł: 0

uK po pełnym, wielokrotnym kasowaniu i wgraniu ponownie wsadu zaskoczył. Do tej pory jednak nie wiem co było przyczyną problemów.
Najwyraźniej sprawdza się stare, polskie powiedzenie: niedzielna praca w g* się obraca.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2011, o 23:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2011
Posty: 39
Lokalizacja: Łódź
Pomógł: 0

Niestety potwierdzam - mój ATmega644PA też miał ten problem Timer1 działał od razu ok lecz Timer2 nie, za poradą kolegi woow skasowałem uP i wgrałem od nowa wsad i jest już ok. A ile się naszukałem błędu wcześniej to....życie jest za krótkie na takie niespodzianki:/



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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