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



Teraz jest 29 mar 2024, o 11:17


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 
Autor Wiadomość
PostNapisane: 4 lip 2012, o 19:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2011
Posty: 401
Lokalizacja: Siedlce
Pomógł: 7

Witajcie!
Walczę od dłuższego czasu z wyświetlaczem OLED - Winstar 001602ARPP5N00000.
Napisałem swoją bibliotekę do obsługi, ale wyświetlacz działał poprawnie tylko po włączeniu zasilania, a przy resecie różnie bywało - zwykle krzaki.
Postanowiłem więc spróbować z biblioteką Mirka załączoną na DVD do książki. Jest lepiej - po resecie nie ma krzaków tylko tekst, ale ten tekst...
z resztą - sami zobaczcie:
https://dl.dropbox.com/u/27006170/MOV020.3gp

Dodam tylko, że "z musu" (za mało pinów) nie używam pinu R/W - zwarty do masy na stałe.

_________________
Czekamy na RedBook'a!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2012, o 19:48 
Offline
Moderator
Avatar użytkownika

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

Wyświetlacze OLED idealnie się nadają do tego żeby je sterować z pinem R/W bo są szybkie

dzieje się na nim coś bardzo dziwnego ;) ... ale hmmm przy takiej ilości informacji jakie podałeś

- brak dokładnego schematu ew
- informacji o procesorze o taktowaniu o fusebitach
- kodu tego co wyprawiasz w pętli głównej ;) itp

ja nie za bardzo jestem w stanie cokolwiek wymyślić tutaj

Bo kodu samej biblioteki nie musisz zamieszczać - każdy ją ma więc wiadomo co jest w środku ;)

_________________
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: 4 lip 2012, o 19:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Pane kodu brak, to jak mamy sprawdzić
A na moj gust to jeszcze powinienes uzyc funcji lcd_locate(0,0) na przykład

------------------------ [ Dodano po: 1 minucie ]

I nie powiem ci że pewnie się tak dzieje, ponieważ wyswietlacz sobie autoinkremetuje pozycje wyswietlania .............



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2012, o 19:50 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 344
Lokalizacja: Bydgoszcz
Pomógł: 11

Zapodaj kod main.c twojego programu bo tam może leżeć wina i pamiętaj aby używać znaczników syntax.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2012, o 00:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2011
Posty: 401
Lokalizacja: Siedlce
Pomógł: 7

Całego kodu nie ma sensu wrzucać... LCD działa poprawnie problem jest tylko z OLED - może wypatrzycie w dokumentacji coś co przegapiłem...
Kod:
http://www.compel.ru/datapdf/winstar/pn/weh001602arpp5n00000/792b77b2362193c244f173a31a79e43d.pdf

Procesor ATMega88PA, F_CPU=14745600, dzielenie zegara przez 8 wyłączone w fusach... co jeszcze chcecie wiedzieć?

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

_________________
Czekamy na RedBook'a!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2012, o 05:24 
Offline
Moderator
Avatar użytkownika

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

Coś dziwna jest ta nota PDF :( .... lepiej sprawdź sobie chociażby na stykówce ten LCD ale z podłączonym RW do procka bo spójrz sobie i porównaj czasy wykonywania operacji. Pomijam już fakt że typowe wyświetlacze LCD mają czas dla CLS na poziomie 4,2ms przy RW do GND a tutaj ???? po pierwsze nie widać tego rozgraniczenia a po drugie ten czas podany jest jako 6,2ms !!!! a czasy pozostałych operacji jako 0 !!! ??? !!!

_________________
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: 5 lip 2012, o 10:22 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 72
Lokalizacja: Gdańsk
Pomógł: 2

Wiesz co, jeżeli chodzi o te krzaki po resecie, to ja tak miałem na zwykłem hd44780. Problemem była zła inicjalizacja. Jeżeli korzystasz z transmisji 4 bitowej, to po resecie przez ileś czasu trzeba podawać na wyświetlacz komendę trybu 8 bitowego, a następnie zmienić na 4 bitowy. Tyle mi teraz do głowy przychodzi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2012, o 11:11 
Offline
Moderator
Avatar użytkownika

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

No tak tylko ja już od roku np przypominam wszystkim gdzie się da, że jest aktualizacja biblioteki do LCD z pierwszej książki - ale jakoś mało kto tam zagląda - na wszelki wypadek jeszcze raz podaję link:

topic27.html

a chodzi właśnie o inicjalizację LCD

_________________
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: 5 lip 2012, o 11:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2011
Posty: 401
Lokalizacja: Siedlce
Pomógł: 7

Bibliotekę mam z najnowszej książki (porównywałem ją też TotalCommanderem z tą wyżej - pliki są identyczne).
Podłączenie R/W (tymczasowo podpiąłem sobie do PD0(RxD) bo teraz nie wykorzystuję UART, włączenie kompilacji itd. - nic nie zmienia...
Kolega który kupił kilka tych wyświetlaczy do swoich urządzeń ma ten sam problem, więc to nie jest wina konkretnej sztuki. Chyba raczej niepełnej dokumentacji...

Chyba muszę powalczyć z inicjalizacją i zrobić dokładnie tak jak jest w PDFie i zobaczyć czy to coś da.

_________________
Czekamy na RedBook'a!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2012, o 11:40 
Offline
Moderator
Avatar użytkownika

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

No jak widać ten wyświetlacz jest niby zgodny z HD44780 , ale jakieś takieś ma dziwnie inne opisy jak się patrzy na pierwszy rzut oka - więc może się okazać - że próby zrobienia tego dokładnie z PDF'em mogą dopiero przynieść skutek.

_________________
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: 5 lip 2012, o 14:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2011
Posty: 401
Lokalizacja: Siedlce
Pomógł: 7

Zdaje się działać... Gdy R/W podłączone do procesora to działa niezależnie od włącznika kompilacji obsługi R/W.

Update:
Podłączyłem R/W na stałe do masy i też działa.
Ten wyświetlacz przy CLS nie ustawia pozycji kursora na początek trzeba to zrobić tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Zdefiniowane w bibliotece lcd_home(); czyli wysłanie 0x03 nie działa :).

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

Może się da jeszcze uprościć... zobaczę!

_________________
Czekamy na RedBook'a!



Ostatnio edytowano 5 lip 2012, o 15:21 przez szopler, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2012, o 15:12 
Offline
Moderator
Avatar użytkownika

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

A no widzisz - czasem takie kruczki mogą wystąpić - ale teraz już wiesz jak im łeb ukręcić ;) i to to chodzi

_________________
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: 5 lip 2012, o 18:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2011
Posty: 401
Lokalizacja: Siedlce
Pomógł: 7

Ale to jeszcze nie wszystko...
Znalazłem Demo Code producenta:


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


Teraz spróbuję przeportować init i zobaczę co z tego wyniknie...

_________________
Czekamy na RedBook'a!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2012, o 18:55 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

kurczaki pieczone... a tak w syntax asm nie mogłeś tego kodu wrzucić?
O wiele lepiej się to wtedy czyta ;)

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2012, o 19:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 lis 2011
Posty: 582
Lokalizacja: okolice Wrocławia :)
Pomógł: 24

Syntax poprawiłem na ASM...

a swoją drogą to w końcu jakiś normalny kawałek kodu widzę na tym forum a nie tylko C, C i C :lol:

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2012, o 22:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2011
Posty: 401
Lokalizacja: Siedlce
Pomógł: 7

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

_________________
Czekamy na RedBook'a!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 mar 2013, o 09:21 
Offline
Nowy

Dołączył(a): 28 lut 2013
Posty: 17
Pomógł: 0

Przepraszam za stary kotlet..:) le to ważne i będzie w jednym wątku. Wczoraj cały dzień siedziałem nad zakichanym windstarem 4x20 żeby odpalić snake:P. Oczywiście na klasycznych LCD gra działa bez pudła. OCZYWIŚCIE na oledzie totalne krzaki. W związku z tym ze bawię się nimi od paru tygodni, od razu zabrałem sie za inicjacje i jej mała modyfikację, ale o ile ta przebiegała prawidłowo, to oled i tak miał mnie głęboko... Co ciekawe, jak wysyłałem mu znak o adresie 0 (wcześniej oczywiście zdefiniowany) to jeżeli wysłałem tylko raz to wyświetla prawidłowo na ekranie. Próba wysłania stringu "\x80\x80" i klops!. OLED LEŻY!. Ok, wysyłam pojedynczy string "\x80" i oki, dwa leży. Zwykłe LCD wzorowo działają. No to sobie myślę.... coś go boli to zerowe sterowanie.... to dawaj spróbuje mu zdefiniować znak z zer pod 0 adres. I co najlepsze taka definicja nie przechodzi!!!!. Czyli kontroler albo ma jakąś wadę programową, albo funkcję o której mało wiemy i w pdf jej nie ma. Pod nóż poszedł też 2x16 i ten tak samo ma problem z zerami. Już nawet w ASM wszystko napisałem żeby dokładnie było jak amen w pacierzu, ale lipa. Czy mógłby mi ktoś z Was sprawdzić na swoim oled czy takie zjawisko ma?? bo jak tak to muszę się zastanowić co dalej. Najgorsze jest to ze nie można zdefiniować znaku który ma w swoim wyglądzie 2x 0x00! bo kontroler idzie w krzaki!. Musiał bym jeszcze spróbować na 8bit go dać ale z powodu choroby nie mogę być w firmie....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 mar 2013, o 09:40 
Offline
Moderator
Avatar użytkownika

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

ja bym pomógł ale nie mam OLEDów :(

_________________
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: 12 mar 2013, o 10:09 
Offline
Nowy

Dołączył(a): 28 lut 2013
Posty: 17
Pomógł: 0

Witam samego nauczyciela;). No to szkoda bo raz odpalony OLED razi czarem jakości i szybkości wyświetlania i zwykłe LCD przy nim blakną:). A tak na serio to jest to piękna sprawa ale widzę że dopóki za sterownik nie weźmie się jakaś odpowiedzialna firma to będziemy mieli takie kwiatki. Winstar zapewnia pełną kompatybilność a praktycznie jeszcze żadne urządzenie nie wystartowało mi po przekładce LCD na OLED. Co najgorsze.... jak zapodamy mu te 2x0 to on się tak przełączy, że już nic nie daje reset tylko totalny off z prądu.
--
No nic, poradziłem sobie w ten sposób że czytam flagę busy i wtedy wszystko jest ok. Docelowo i tak bym czytał bo ten wyświetlacz o to się aż prosi, ale sa układy gdzie brakuje tego jednego pinu i wtedy rezygnujemy z R/W. Układ winstara nie toleruje wysłania do niego dwóch zer za jednym razem, a więc czytanie busy rozwiązuje ten problem:).



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 11 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