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



Teraz jest 29 sty 2025, o 20:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 11 maja 2014, o 12:20 
Offline
Nowy

Dołączył(a): 31 mar 2014
Posty: 16
Pomógł: 0

Przeczytałem rozdział o multipleksowaniu, przepisałem kod "na żywca" by sprawdzić jak działa.
Kod w książce był pisany na ATmega32 a Ja mam ATmega644P - i w tym problem.
Kompilator oznajmił, że nie zna rejestrów. To zacząłem zamieniać nazwy zgodnie z tym PDF'em:
http://www.atmel.com/Images/doc2593.pdf
Ale coś mam źle bo nic się nawet nie wyświetla na wyświetlaczu LED.
Przejrzałem to jeszcze kilka razy ale nie wiem gdzie mam błąd.
Dodam, że było to moje pierwsze spotkanie z takim PDF'em.
Oto cały kod:
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: 11 maja 2014, o 12:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

Kacper Paczos napisał(a):
TCCR2A |= (1<<CS02)|(1<<CS01)|(1<<CS00);

to jest zapisane w rejestrze TCCR2B

Poza tym należy zwraczać uwagę że dla Timer2 wartości CS są z 2 na początku ... znaczy CS20 CS21 CS22 oraz WGM i reszty dotyczącej danego timera.


Poza tym powinien kolega pisać jakie wartości timera chce osiągnąć, mam na mysli np preskaler - 1024, tryb - ctc itp .
Zawsze najlepiej takie rzeczy w komentarzach pisać.

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2014, o 17:33 
Offline
Nowy

Dołączył(a): 31 mar 2014
Posty: 16
Pomógł: 0

Pozamieniałem i teraz działa ale nie wyświetla dobrze tzn widać wyraźne mruganie diod LED.
Oto kod:
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: 12 maja 2014, o 18:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

A teraz wyraźnie brakuje informacji jakim zegarem jest "zasilany" mikrokontroler oraz jaką częstotliwość kolega chciałby uzyskać .




PS.
Czy to takie trudne żeby nauczyć się prawidłowo zadawać pytania ??

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2014, o 19:06 
Offline
Nowy

Dołączył(a): 31 mar 2014
Posty: 16
Pomógł: 0

Chciałbym uzyskać tak jak w książce około 200Hz ale o co chodzi z tym "zasilaniem"?

EDIT:
Czy z tym "zasilaniem" chodzi z jaką prędkością taktuje mikrokontroler?
Jeśli tak to nie nie wiem :/



Ostatnio edytowano 12 maja 2014, o 19:18 przez Kacper Paczos, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2014, o 19:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

Jakim zegarem taktujesz swój uC ....

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2014, o 20:39 
Offline
Nowy

Dołączył(a): 31 mar 2014
Posty: 16
Pomógł: 0

W programie mk AVR Calculator w zakładce fusy właściwości w tej rozwijanej liście pisze
"Frequency 8.0- MHz - więc chyba 8Mhz.

Tylko teraz mam nowy problem.
Jak przeglądałem sobie zakładki to wszedłem w fusy uproszczone i zmieniłem opcje w otoczce "zewnętrzny kwarc" z >8Mhz
na opcje 8MHz w otoczce "wewnętrzny oscylator". Zapisałem fuse bity by zobaczyć co się stanie.
Obrazek
Wyświetlacz LED przełączał trochę wolniej. Ale cofnąłem te opcje i gdy kazałem zapisać to program przestał działać i się zamknął.
Problem w tym, że teraz nie mogę zapisać nic do mikrokontrolera bo jest błąd weryfikacji.
Obrazek
Co zrobić by móc zapisywać do mikrokontrolera? AVRDUDE jeszcze raz zainstalować czy coś takiego?



Ostatnio edytowano 12 maja 2014, o 20:52 przez Kacper Paczos, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2014, o 20:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

a to niech kolega ustawi po pierwsze SLOW SCK w mkavrcalcu na jakąś niską wartość, następnie zmieni na 8Mhz, a nastepnie wyłączy CKDIV .... który to dzieli częstotliwość przez 8 .... ( przy ustawionych 8Mhz rzeczywiście mamy 1 ... )

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2014, o 19:46 
Offline
Nowy

Dołączył(a): 31 mar 2014
Posty: 16
Pomógł: 0

Mam teraz nowy problem. Co więcej jest on dziwny.
Wyświetlacz działał ale wyświetlał nie to co trzeba.
Podłączyłem teraz zwykłe diody LED.
Podłączyłem je tak - pierwszą do PC0, drugą od lewej do PC1 itd. (płytka testowa atnela)
Ustawiłem porty PC na wyjście (DDRC = 0xFF) i aby wszystkie wysyłały sygnał (PORTC = 0x0).
Ale tylko diody pierwsza, druga, siódma i ósma od lewej się zaświeciły.
Nie działają piny PC2, PC3, PC4, PC5.
Czy przestawiając fuse bity mogłem coś namieszać tak że porty nie działają?
Kod wygląda tak:
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: 13 maja 2014, o 20:08 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 595
Lokalizacja: Jaworzno
Pomógł: 39

Prawdopodobnie masz włączony JTAG w fusebitach.

_________________
Pozdrawiam
PP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2014, o 16:09 
Offline
Nowy

Dołączył(a): 31 mar 2014
Posty: 16
Pomógł: 0

Faktycznie, miałem włączony JTAG.
Jednak dalej jest problem z migającym wyświetlaczem LED.
Zegar działa za wolno jednak gdy zmieniam rejestr OCR2B mniejszą tzn by zegar taktował szybciej to nie ma widocznej poprawy.
Ciągle widać takie mruganie.
To mój kod:
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: 14 maja 2014, o 16:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

A czy kolega wyłączył podział przez 8 we fusach ?

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2014, o 16:54 
Offline
Nowy

Dołączył(a): 31 mar 2014
Posty: 16
Pomógł: 0

CDKIV? tak wyłączyłem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2014, o 13:59 
Offline
Nowy

Dołączył(a): 31 mar 2014
Posty: 16
Pomógł: 0

Próbuje wpisywać do rejestru porównania różne wartości ale one praktycznie nic nie zmieniają w działaniu wyświetlacza.
Nie działa ani szybciej ani wolniej - nie wiem dlaczego. Nikt z Was też nie wie?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

EDIT:
Jakby ktoś nie wiedział o co chodzi to chodzi o to iż wyświetlacz pulsuje/mruga.



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

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO