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



Teraz jest 6 lip 2026, o 11:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
 Tytuł: Problem z LCD.
PostNapisane: 26 wrz 2015, o 21:56 
Offline
Użytkownik

Dołączył(a): 27 cze 2015
Posty: 60
Pomógł: 0

Witam. Przerabiam wlasnie programowanie LCD z ksiazki i mam pytanie co do inicjalizacji.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


Tzn. ofc wiem ze to jest inicjalizacja, ale po co tego az tyle? Najpierw 8 bit, potem 4 bit...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2015, o 22:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 mar 2013
Posty: 175
Pomógł: 10

Takie chyba są wymogi inicjalizacji LCD opartych na HD44780. Włączamy zasilanie, czekamy 15ms, wysyłamy bajt, czekamy > 4.1ms, wysyłamy bajt, czekamy >100us i tak łącznie 3 razy. Potem dopiero jako połówki i możemy odczytać BF.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2015, o 22:31 
Offline
Użytkownik

Dołączył(a): 27 cze 2015
Posty: 60
Pomógł: 0

No dobra, ale to te poczatkowe bajty to nie wysyla sie po polowie? Najpierw starsza czesc, pozniej mlodsza? Czy to obowiazuje dopiero po tym jak ustawimy wyswietlacz na 4bity?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2015, o 22:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 mar 2013
Posty: 175
Pomógł: 10

Te pierwsze trzy razy całe bajty. Dopiero potem połówki. Tak na 98% :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2015, o 23:36 
Offline
Użytkownik

Dołączył(a): 27 cze 2015
Posty: 60
Pomógł: 0

Ale jak to zrealizowac skoro pracujemy tylko na 4 pinach...?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 08:09 
Offline
Użytkownik

Dołączył(a): 10 sie 2013
Posty: 66
Lokalizacja: Szczecin
Pomógł: 7

Przed przełączeniem w tryb 4bit, pierwsze 4 komendy są 8 bitowe, ale 4 najmlodsze bity są ignorowane przez LCD, więc korzystasz tylko z 4 starszych bitów, czyli w Twoim przypadku z 4 pinów.

_________________
Build:succeeded or up-to-date, 0 failed, 0 skipped



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 08:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 310
Pomógł: 18

LCD jest samodzielnym modułem zdolnym do pracy po załączeniu zasilania - widoczne prostokąty(DDRAM - pusty) i do tego jedna linia, data 8bit - inicjacja default lub przypadkowa. MY chcemy mieć jasność. Puk, puk 3x starszymi bitami a młodsze LCD pobiera z niewykorzystanych linii - taki myk. Monitorze będziesz pracował jak MY chcemy :twisted: ,a LCD ma taką możliwość w ustawieniach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 11:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2014
Posty: 334
Lokalizacja: Rybnik
Pomógł: 55

Tak jak napisali koledzy wcześniej -tak właśnie wygląda inicjalizacja wyświetlacza z sterownikiem zgodnym z HD44780 w trybie 4-ro bitowym. Wystarczy, że otworzysz pierwszą lepszą dokumentację układu HD44780 i zobaczysz tam coś takiego (tu już w j. polskim)

Obrazek

Z resztą, to samo znajduje się w BB przy opisie obsługi LCD.

_________________
Amatorska stacje meteorologiczna



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 15:13 
Offline
Użytkownik

Dołączył(a): 27 cze 2015
Posty: 60
Pomógł: 0

Ehh osioł ze mnie, nie wiem jakim cudem umknął mi ten algorytm z książki:/ Dzięki za szybką odpowiedź.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 20:21 
Offline
Użytkownik

Dołączył(a): 27 cze 2015
Posty: 60
Pomógł: 0

Poł dnia się juz z tym męczę... Gdyby ktoś miał trochę czasu to może wskazać błędy. Nic sie nie wyswietla.

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


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


i main:
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: 28 wrz 2015, o 22:24 
Offline
Użytkownik

Dołączył(a): 27 cze 2015
Posty: 60
Pomógł: 0

Mógłby ktoś chociaż sprawdzić czy funkcje do przesyłania bajtów działają odpowiednio? Tzn. najpierw jest przesyłana jest starsza czesc a potem mlodsza?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 wrz 2015, o 07:12 
Offline
Użytkownik

Dołączył(a): 10 sie 2013
Posty: 66
Lokalizacja: Szczecin
Pomógł: 7

1 zasada, gdy coś nie działa - sprawdzić poprawność połączeń. Bez tego, to i sam zmarnujesz czas, ja i ci, którzy będą szukać rzekomych błędów w kodzie.
2 zasada, gdy zabierasz się za lcd, zaczynaj od prostych funkcji (bez BusyFlag, 4bit), i jeśli wyświetlisz cokolwiek, wtedy kombinujesz dalej.

_________________
Build:succeeded or up-to-date, 0 failed, 0 skipped



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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