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



Teraz jest 30 mar 2026, o 02:05


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 26 sie 2013, o 14:23 
Offline
Użytkownik

Dołączył(a): 20 mar 2012
Posty: 159
Pomógł: 6

Witam

Próbuje ostatnio okiełznać wyświetlacz graficzny na sterowniku ST7920.
Powoli mi się udało tryb tekstowy działa,graficzny tak samo ,ale doszłem teraz do momentu napisania funkcji do zapalania i gaszenia pojedynczego pixela i potrzebuje w tym momencie odczytać z danego adresu w pamieci wyświetlacza informacje i ją zmodyfikować.
Wszsytko by było dobrze gdyby w tym wyświetlaczu informacje były zapisywane w 1 bajcie tak jak np. KS0108.
Tu jest niestety inaczej ponieważ informacje pod danym adresem x,y zapisywane są w dwóch bajtach (b0..b15)
Widać to na poniższym zdjęciu:
Obrazek

Gdy zapisuję informacje do tej pamięcie poprostu wysyłam za koleją 2 bajty zgodnie z PDF i wszsytko jest dobrze,ale gdy chcę odczytać dwa bajty to już nie jest tak kolorowo.
Mogę odczytać tylko 1 bajt(b0..b7) ponowne wywołanie funkcji odczytujęcej dane zwraca mi tą samą wartość a nie wartość bitów (b8..b15)

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


I teraz mam następujące pytanie w jaki sposób mogę odczytać dane z bitów(b8..b15) zmodyfikować funkcję do odczytu,zmienić sekwencję ustawiania i zerowania pinów sterujących LCD?

Pozdrawiam Luki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 21:11 
Offline
Użytkownik

Dołączył(a): 20 mar 2012
Posty: 159
Pomógł: 6

I jak nikt nie pomoże z tym fantem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 21:21 
Offline
Użytkownik

Dołączył(a): 20 mar 2012
Posty: 159
Pomógł: 6

Dobrze.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 21:42 
Offline
Użytkownik

Dołączył(a): 20 mar 2012
Posty: 159
Pomógł: 6

Wyświetlacz ma 8 bitową szynę danych więc odczytanie 16 bitów na raz nie jest mozliwe.
Co do adresów komórki to spróbuję jutro ale wątpie żeby to było ponieważ adres X może przyjmować wartości (0..15) 4 bity.
Kontroler ma 8 i 4 bitowy tryb transmisji i na obydwu zachowuje się tak samo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 21:44 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Z tego co widać w specyfikacji to trzeba 2 razy zmienić E:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 21:47 
Offline
Użytkownik

Dołączył(a): 20 mar 2012
Posty: 159
Pomógł: 6

Jutro spróbuje twojego kodu krausers być może o to chodzi :) .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2013, o 09:14 
Offline
Użytkownik

Dołączył(a): 20 mar 2012
Posty: 159
Pomógł: 6

Niestety przy twoim kodzie tak samo poprawnie odczytuję tylko bity (b0..b7) ,a bity(b8..b15) zawsze przyjmują wartość czyli coś drgneła ale to jescze nie to co powinno być.

Ale za to znalałem w interniecie kod do odczytu 2 bajtów ale napisany pod PIC32MX i niestety nie rozumiem go do końca,nie widzę nigdzie RW,RS,E tylko jakiś odczyt.

W załączniku cały projekt który znalazłem.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.




Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2013, o 09:51 
Offline
Użytkownik

Dołączył(a): 20 mar 2012
Posty: 159
Pomógł: 6

Jakiś dziwny ten sterwownik być może jakoś uda się odczytać te 2 bajty narażie poradziłem sobie trochę okrężną drogą,w pamięcie procka zrobiłem sobie taką tablicę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

I to na niej modyfikuję odpowiednie wartości i póżniej wysyłam do lcd.
Działą tak samo może troszeczke wolniej niż bym odczytywał dane z lcd ale ważne że działa tak jak chciałem.

Może ktoś jeszcze znajdzie sposób na odczyt 2 bajty byłbym wdzięczny jeżeli nie to zostanę przy tym spsobie , a następny lcd kupie już z normalnym sterownikiem np.KS0108.

Ponizej filmik z działania razem z dotykiem opartym na STMPE811.
Porgram pobiera dane z dotyku i zapala odpowiednie piksele.


Dzieki za dotychcaszową pomoc :) .



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