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



Teraz jest 6 lut 2025, o 19:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
 Tytuł: LCD problemy
PostNapisane: 26 sie 2014, o 21:57 
Offline
Użytkownik

Dołączył(a): 15 sie 2014
Posty: 87
Pomógł: 0

Mam pewien problem. Chciałem uruchomić wyświetlacz LCD korzystając z kodu z płyty dolączonej do niebieskiej książki. Występuje mi pewien błąd kompilacji związany z podświetlaniem LCD. Chcę też zaznaczyć że nie posiadam potencjometru i nie korzystam z kontrastu czyli trzeciego pinu wyświetlacza. A mianowicie o to fragment kodu (main) :

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


Tutaj jest błąd:

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


A to błąd który wyskakuje:

../main.c: In function 'main':
../main.c:31: error: 'DDRA' undeclared (first use in this function)
../main.c:31: error: (Each undeclared identifier is reported only once
../main.c:31: error: for each function it appears in.)
../main.c:31: error: 'PA7' undeclared (first use in this function)
../main.c:32: error: 'PORTA' undeclared (first use in this function)
make: *** [main.o] Error 1


Jestem trochę w tym wszystkim zagubiony jeżeli ktoś jest w stanie mi powiedzieć o co tu chodzi byłbym wdzięczny.

I przy okazji chciałem zapytać też o właczenie ładowania pliku *.eep do pamięci EEPROM przy wgrywaniu wsadu HEX. Czy muszę to zrobić i jeżeli tak to jak mam to zrobić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 22:05 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

moscow18-1990 napisał(a):
A to błąd który wyskakuje:

w main.c brakuje definicji portów:

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

moscow18-1990 napisał(a):
I przy okazji chciałem zapytać też o właczenie ładowania pliku *.eep do pamięci EEPROM przy wgrywaniu wsadu HEX. Czy muszę to zrobić i jeżeli tak to jak mam to zrobić?

http://forum.atnel.pl/topic8145.html


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 22:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

Ja bym sprawdził 3 rzeczy:

1. Czy masz zainkludowany (ciekawe czy można tak to spolszczyć :D) plik io.h? Czyli musisz mieć linijkę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

jest ona zawsze z pliku głównym (domyślnie main.c),
2. Sprawdź czy nie odwołujesz się do portu którego nie masz w mikroprocesorze. Może śmiesznie brzmi ale mi się raz w życiu zdarzyło (jechałem na gotowcu), odwołać do portu A w ATMedze 8 :D
3. Sprawdź czy w ustawieniach projektu masz dobry mikroprocesor zaznaczony.

z Niebieskim pozdRowieniem,
Doman89,


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 22:21 
Offline
Użytkownik

Dołączył(a): 15 sie 2014
Posty: 87
Pomógł: 0

Mam atmege 88 nazwy portow w innych plikach nagłówkowych zmieniłem z A na C i zrobię tak samo. Ustawiłem na PC6. Kompilacja przebiegła dobrze. Moje pytanie brzmi: który port wyświetlacza muszę wpiąć do portu PC6? Który odpowiada za podświetlenie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2014, o 23:20 
Offline
Użytkownik
Avatar użytkownika

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

W Atmedze88 pin PC6 jest domyślnie pinem RESET. Więc nie wykorzystasz go do sterowania np. wyświetlaczem LCD. Musiał byś w fusebitach przestawić go na normalny pin I/O. Ale wtedy utracisz możliwość programowania procka przez ISP. Tak więc pin PC6 zostaw w spokoju i na razie zapomnij, że taki istnieje w Atmedze88.

Wyświetlacz LCD ma dwa piny (przeważnie 15 i 16), do których są podłączone diody od podświetlania. Nie można ich podłączać bezpośrednio do procesora bo podświetlanie pobiera na tyle duży prąd, że mógłby on uszkodzić procesor. Dlatego aby załączać podświetlanie prockiem trzeba użyć tranzystora.

Zobacz jak to jest rozwiązane w zestawie ATB. Pin 15 LCD (anody diod LED) podłączony jest do VCC, a pin 16 (katody) poprzez tranzystor NPN podłączony jest do GND. Aby włączyć podświetlanie należy podać stan wysoki na pin nr 8 w złączu J_LCD.
Obrazek

Jeśli nie masz zestawu ATB a chciałbyś prockięm włączać podświetlanie to powinieneś to zrobić tak jak na schemacie powyżej.
Jeśli jednak nie zależy ci aby podświetlanie załączać z procesora to możesz podłączyć je na stałe do zasilania. Sprawdź w nocie swojego wyświetlacza czy posiada on rezystory ograniczające prąd diod LED. Ja miałem styczność z wyświetlaczami, które posiadały takie rezystory i podświetlanie można było podłączać bezpośrednio do zasilania. Ale jeśli twój wyświetlacz nie miałby tych rezystorów, wtedy musiałbyś użyć zewnętrznego rezystora ograniczającego prąd diod LED.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2014, o 09:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sty 2013
Posty: 426
Pomógł: 36

jacekk232 napisał(a):
Chcę też zaznaczyć że nie posiadam potencjometru i nie korzystam z kontrastu czyli trzeciego pinu wyświetlacza. A


Na 3 nożkę musi być podane napięcie. Jeżeli tego nie zrobisz - wyświetlacz będzie pusty.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2014, o 10:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 kwi 2014
Posty: 85
Pomógł: 4

Kontrast możesz ustawić na stałe za pomocą rezystora do masy np. 4,7k. A podświetlenie można zasilać z 5V.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2014, o 15:19 
Offline
Użytkownik

Dołączył(a): 15 sie 2014
Posty: 87
Pomógł: 0

Dziękuje za rady. Zaraz będę próbował zastosować je w praktyce...



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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