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



Teraz jest 28 paź 2024, o 12:28


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 3 maja 2012, o 20:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 mar 2012
Posty: 72
Pomógł: 5

Witam, mam problem ze zrozumieniem części kodu biblioteki do LCD i mam w związku z tym kilka pytań.

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



1)Dlaczego po wyzerowaniu wszystkich lini sterujących, robimy to po raz kolejny po odczekaniu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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



2)Dlaczego w tym fragmencie kodu użyta jest funkcja lcd_sendHalf(); Jesteśmy w stanie przesłać nią pół bajtu więc dlaczego użyta jest w różnych przedziałach czasowych trzy razy? Z czego wynika algorytm inicjalizacji wyświetlacza? Z PDF? Chciałem do niego zajrzeć ale nie bardzo wiem gdzie szukać.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dla ułatwienia w książce jest to strona 213+. Proszę o wyrozumiałość dla żółtodzioba.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2012, o 20:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

przeczytaj kolego moje wypociny na temat sterownika HD44780 może ci to pomoże zrozumieć ustrojstwo
:)

topic868.html

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2012, o 20:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 mar 2012
Posty: 72
Pomógł: 5

Dziękuję za odpowiedź faktycznie ciekawy artykuł nie widziałem go wcześniej. Usystematyzowałem wiedzę na temat komend i lini sterujących no i mam pdf. :)

Mimo wszystko dalej nie potrafię przeanalizować tego kodu. Proszę o pomoc. :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2012, o 21:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Zwróć uwagę na linie RW = READ / WRITE LCD trzeba sprawdzić czy będzie odczyt czy zapis do LCD
Co jest zależne od stanu tego pinu , zwykle realizujemy ZAPIS,
ale samemu kontrolerowi też trzeba dać czas do namysłu , sprzętową inicjację oraz ustawienie pinów :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2012, o 21:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 mar 2012
Posty: 72
Pomógł: 5

No więc ja to widzę tak (nakierujcie mnie na właściwe tory):


1)Ustawiamy RW i RS w stan niski dzięki czemu jesteśmy w stanie dokonać zapisu komendy

2) Zapisujemy pół bajtu(starsza czesc) poprzez funkcję

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


3) Nie możemy teraz odczytywać Busy Flag (Nie mam zielonego pojęcia dlaczego) dlatego czekamy
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
bo tyle maxymalnie może zająć czasu operacja dotyczaca przeslania polowy bajtu do lcd.

4)Dokonujemy zapisu młodszej części bajtu...
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


5) Reszty nie potrafię zinterpretować. Odczekujemy

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
bo tyle potrzebuje lcd zeby przetrawic ten bajt co go przeslalismy?


Dlaczego od tej pory jestesmy juz w stanie odczytywac Busy Flag? Gdzie podział się sygnał E? Przecież ustawiając wszytsko musimy go na chwilę ustawić w stan wysoki aby dokonał się zapis/odczyt?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2012, o 21:27 
Offline
Moderator
Avatar użytkownika

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

A ja przede wszystkim proszę pana autora wątku o zainteresowanie się updejtami do kodów z książki ;) może wtedy będzie łatwiej zrozumieć OK? .... bo właśnie tę inicjalizację musiałem sporo poprawić - zobacz:

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


i przeglądaj bardziej forum, bo wyraźnie ten topic przeoczyłeś ;)

topic27.html

_________________
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: 3 maja 2012, o 21:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 mar 2012
Posty: 72
Pomógł: 5

:oops: ... Przepraszam najmocniej. Zaglądałem na ten topic kiedyś ale kojarzyło mi się ,że dodano do tej biblioteki jakąś funkcję i nie sprawdziłem drugi raz. Coś mi się pomyliło. Na razie przepraszam za nieuwagę i dziękuję za odpowiedź. Biorę się za analizę, jak coś to będę pytał.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 maja 2012, o 21:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

pytaj śmiało , aczkolwiek teraz już powinno być wszystko jasne :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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