RTV forum PL | NewsGroups PL

Jak dynamicznie definiować i zmieniać znaki na wyświetlaczu HD44780?

hd44780 zmiana znakow definiowanych w locie

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak dynamicznie definiować i zmieniać znaki na wyświetlaczu HD44780?

BartekK
Guest

Sat Sep 15, 2007 10:19 pm   



Mam głupi problem. Zależnie od sztuki/producenta wyświetlacza "zgodnego
z hd44780" raz działa, raz nie działa soft.
Jak prawidłowo powinno wyglądać definiowanie "znaków własnych" (8szt) i
jak je zmieniać "w locie" podczas działania wyświetlania? Chodzi o to,
że muszę ich zmajstrować przynajmniej 40, ale nie będą naraz
wyświetlane, więc mogą być ładowane do lcd tylko aktualnie użyte. Ale
ładowanie + inicjalizacja całego lcd trwa zbyt długo, obraz znika na ~1-2s.

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Michał Augustyniak
Guest

Sat Sep 15, 2007 10:31 pm   



Quote:
wyświetlane, więc mogą być ładowane do lcd tylko aktualnie użyte. Ale
ładowanie + inicjalizacja całego lcd trwa zbyt długo,

Chyba nie trzeba inicjować wyświetlacza po wpisaniu danych.

Quote:
obraz znika na ~1-2s.

Co Ty, w C piszesz? :P

--
Pozdrawiam
M. Augustyniak

BartekK
Guest

Sat Sep 15, 2007 10:46 pm   



Michał Augustyniak pisze:
Quote:
wyświetlane, więc mogą być ładowane do lcd tylko aktualnie użyte. Ale
ładowanie + inicjalizacja całego lcd trwa zbyt długo,

Chyba nie trzeba inicjować wyświetlacza po wpisaniu danych.
Chyba, a w praktyce - zależnie od lcd - albo po aktualizacji robią się

krzaki (a taka sama aktualizacja z inicjalizacją krzaków nie daje), albo
w ogóle nie jest uaktualniany lcd, tak jakby kontroler "nie pobrał" z
ramu znaków nowych, tylko nadal trzymał stare w "pamięci obrazu" (w
cudzysłowiach, bo w przypadku hd44780 to wszytko jest takie mocno
naciągane, nie wiadomo jak kopiujący jego działanie w praktyce to
zrealizował, czy istnieje osobna pamięc ekranu, czy jest cachowana itp)

Quote:
obraz znika na ~1-2s.
Co Ty, w C piszesz? Razz
tak, aczkolwiek sama operacja inicjalizacji trwa bardzo krótko

(sygnalizuję sobie testowo ledem- w zasadzie nawet nie widać jak
mrugnie) a lcd przygasa i dopiero "wraca" po tak długim czasie,
niezależnie od kontrolera. Innych producentów lcd robią to co prawda
szybciej, ale akurat takie musze stosować bo już obudowa, otwory, złącza
itp są rozplanowane, tylko soft upgraduje.

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Heliogabal
Guest

Sun Sep 16, 2007 11:01 am   



Użytkownik "BartekK":
Quote:
wyświetlane, więc mogą być ładowane do lcd tylko aktualnie użyte. Ale
ładowanie + inicjalizacja całego lcd trwa zbyt długo, obraz znika na
~1-2s.

Zobacz kurs C w EdW i nie pisz juz glupot ;-)

Heliogabal

BartekK
Guest

Sun Sep 16, 2007 5:57 pm   



Heliogabal pisze:
Quote:
Użytkownik "BartekK":
wyświetlane, więc mogą być ładowane do lcd tylko aktualnie użyte. Ale
ładowanie + inicjalizacja całego lcd trwa zbyt długo, obraz znika na
~1-2s.

Zobacz kurs C w EdW i nie pisz juz glupot Wink
A przepraszam, możesz rozwinąć?

EdW nie posiadam
C jako-tako znam
problemem jest sam LCD który inicjalizację wykonuje jako "zniknięcie
wszystkiego" i po chwili zaczyna wyświetlać (być może generator napięcia
ujemnego do kontrastu też zostaje zatrzymany czy coś). Dlatego pytam czy
da się to zrobić inaczej.
Jeśli gdzieś popełniam błąd to nie krępuj się i napisz wprost...

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Heliogabal
Guest

Sun Sep 16, 2007 6:50 pm   



Użytkownik "BartekK":
Quote:
problemem jest sam LCD który inicjalizację wykonuje jako "zniknięcie
wszystkiego" i po chwili zaczyna wyświetlać (być może generator napięcia
ujemnego do kontrastu też zostaje zatrzymany czy coś). Dlatego pytam czy
da się to zrobić inaczej.

Nie wiem co ci znika i nie mam czasu, ani checi by sie domyslac, tym
bardziej, ze wstydzisz sie swojego programu Wink
Zobacz:
http://edw.com.pl/n0017/c_materialy/dodatkowe/dyn_spec.wmv
http://edw.com.pl/index.php?module=ContentExpress&func=display&ceid=287

Heliogabal

__Maciek
Guest

Fri Sep 21, 2007 8:05 pm   



Sat, 15 Sep 2007 23:19:14 +0200 jednostka biologiczna o nazwie BartekK
<sibi@NOSPAMdrut.org> wyslala do portu 119
jednego z serwerow news nastepujace dane:

Quote:
Jak prawidłowo powinno wyglądać definiowanie "znaków własnych" (8szt) i
jak je zmieniać "w locie" podczas działania wyświetlania? Chodzi o to,
że muszę ich zmajstrować przynajmniej 40, ale nie będą naraz
wyświetlane,

Normalnie. Tak samo jak zapisujesz do DD (Display Data) RAM, tak samo
zapisujesz do CG (Char Generator) RAM

Quote:
ładowanie + inicjalizacja całego lcd trwa zbyt długo, obraz znika na ~1-2s.

Nie ma gwarancji że po resecie/inicjalizacji HD44780 zawartość CG RAM
zosanie niezmieniona (zazwyczaj część danych zostaje przekłamana).

Typowo wyświetlacz inicjalizuje się tylko raz - na początku kiedy
urządzenie zostaje uruchomione, nie ma potrzeby tego robić później i
się nie robi. Jeżeli po załadowaniu danych do CG RAM inicjalizujesz
wyświetlacz to nie dziw się że bzdury się ze zdefiniowanych znaków
robią.

Absolutnie nie ma potrzeby (ani sensu) inicjalizowania wyświetlacza po
załadowaniu danych do CG RAM. Jeżeli zrobiłeś wszystko poprawnie, to
nowych znaków można używać natychmiast.

Jeżeli masz nie więcej niż 8 własnych znaków (bo tyle można samemu
wpisać) to wystarczy załadować je tylko raz, np. zaraz po
inicjalizacji.




--
RUN"
Press PLAY then any key:

BartekK
Guest

Fri Sep 21, 2007 9:15 pm   



__Maciek pisze:
Quote:
Normalnie. Tak samo jak zapisujesz do DD (Display Data) RAM, tak samo
zapisujesz do CG (Char Generator) RAM
To jest oczywiste, tak robię.


Quote:
ładowanie + inicjalizacja całego lcd trwa zbyt długo, obraz znika na ~1-2s.
Nie ma gwarancji że po resecie/inicjalizacji HD44780 zawartość CG RAM
zosanie niezmieniona (zazwyczaj część danych zostaje przekłamana).
Ok, w tym był mój błąd, wyrzuciłem ponowną inicjalizację i już działa

super szybko :)

Quote:
Jeżeli masz nie więcej niż 8 własnych znaków (bo tyle można samemu
wpisać) to wystarczy załadować je tylko raz, np. zaraz po
inicjalizacji.
W tym problem właśnie że znaków mam dużo więcej niż 8, ale nie będą

używane równocześnie na ekranie. Będzie wyświetlany "ładny" bargraf,
wypełniający się po 1 pixelu, z zaznaczonymi "podziałkami" co ileśtam
itp - potrzeba conajmniej 1znak na "kratka pełna w 100%", 2gi znak na
"kratka pusta" (sama podziałka) oraz 5 znaków na kolejne etapy
wypełnienia danej kratki (bo znak jest 5pix szeroki). Ale równocześnie
na ekranie będzie znajdowało się tylko 3 typy znaku (lub tylko 1 gdy
jest 100% full, lub 0%). Problem pojawia się gdyż oprócz takiego
bargrafu muszę wyświetlić około 10 róznych "ikonek" (na szczęście nie
równocześnie) więc kombinuję z dynamiczną zamianą.

To co przetestowałem:
- inicjalizacja hd
- załadowanie zestawu znaków własnych
- wypisanie tych znaków na ekran
- ładowanie nowych definicji znaków
.... i tutaj zależnie od producenta lcd - albo od razu aktualizuje się na
lcd obraz danego aktualizowanego znaczka (np gdy ładuje go linia po
linii pomału - widać na lcd że zmieniają się konkretne linie w znaku),
albo też zmiany wyświetlania nie ma wcale! dopiero gdy użyję dowolnej
funkcji zmieniającej obraz na lcd, tzn napiszę ponownie dany znak,
scrolluję obraz itp. Domyślam się że tylko pierwsza wersja jest zgodna z
typowym hd44780, ale oba wyświetlacze są "prawie jak..." made in china,
z czipem pod smarkiem czarnym...

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

__Maciek
Guest

Fri Sep 21, 2007 9:58 pm   



Fri, 21 Sep 2007 22:15:44 +0200 jednostka biologiczna o nazwie BartekK
<sibi@NOSPAMdrut.org> wyslala do portu 119
jednego z serwerow news nastepujace dane:

Quote:
itp - potrzeba conajmniej 1znak na "kratka pełna w 100%", 2gi znak na
"kratka pusta" (sama podziałka) oraz 5 znaków na kolejne etapy
wypełnienia danej kratki (bo znak jest 5pix szeroki). Ale równocześnie
na ekranie będzie znajdowało się tylko 3 typy znaku (lub tylko 1 gdy
jest 100% full, lub 0%). Problem pojawia się gdyż oprócz takiego
bargrafu muszę wyświetlić około 10 róznych "ikonek" (na szczęście nie
równocześnie) więc kombinuję z dynamiczną zamianą.

A może warto pomyśleć o lekkim zubożeniu artystycznej wizji obrazków
na wyświetlaczu? Albo zastosować graficzny LCD.

BTW na "kratka pusta" masz spację Smile Znak cały wypełniony chyba też
jest gotowy (ściągnij sobie dokumentację od HD44780 i zobacz co on tam
ma we wbudowaym CG).

Quote:
albo też zmiany wyświetlania nie ma wcale! dopiero gdy użyję dowolnej
funkcji zmieniającej obraz na lcd, tzn napiszę ponownie dany znak,
scrolluję obraz itp. Domyślam się że tylko pierwsza wersja jest zgodna z
typowym hd44780, ale oba wyświetlacze są "prawie jak..." made in china,
z czipem pod smarkiem czarnym...

Cholera wie. Może w wersji gdzie się nie zmienia, drivery kolumn i
rzędów wyświetlają z jakiejś dodatkowej wewnętrznej pamięci obrazu, a
ta nie jest zmieniana jeżeli nie wykonasz jakiejś funkcji typu
pisanie, scrollowanie itp.



--
RUN"
Press PLAY then any key:

BartekK
Guest

Fri Sep 21, 2007 10:36 pm   



__Maciek pisze:
Quote:
itp - potrzeba conajmniej 1znak na "kratka pełna w 100%", 2gi znak na
"kratka pusta" (sama podziałka) oraz 5 znaków na kolejne etapy
wypełnienia danej kratki (bo znak jest 5pix szeroki).
BTW na "kratka pusta" masz spację Smile Znak cały wypełniony chyba też
jest gotowy (ściągnij sobie dokumentację od HD44780 i zobacz co on tam
ma we wbudowaym CG).
Dlatego pisałem w cudzysłowiu, bo "kratka pusta" oznacza narysowanie

"skali" bargrafu bez samego bargrafu, nie wiem jak to opisać prosto...
np http://www.jens-seiler.de/bastelecke/LCD_3_HDD.jpg - u mnie linijka
będzie zupełnie inaczej rysowana, ale chyba widzisz o co mi chodzi ;)

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Darek
Guest

Sat Sep 22, 2007 2:00 pm   



BartekK wrote:
Quote:
... i tutaj zależnie od producenta lcd - albo od razu aktualizuje się na
lcd obraz danego aktualizowanego znaczka (np gdy ładuje go linia po
linii pomału - widać na lcd że zmieniają się konkretne linie w znaku),
albo też zmiany wyświetlania nie ma wcale! dopiero gdy użyję dowolnej
funkcji zmieniającej obraz na lcd, tzn napiszę ponownie dany znak,
scrolluję obraz itp. Domyślam się że tylko pierwsza wersja jest zgodna z
typowym hd44780, ale oba wyświetlacze są "prawie jak..." made in china,
z czipem pod smarkiem czarnym...

to może zależeć od sposobu w jaki kontroler realizuje generowanie obrazu
na lcd

// hitachi
czyta znak z DDRAM, zagląda do CGRAM, wypulwa na LCD

// china
aby było "szybciej/taniej" pamięć do wyświetlenia jest "graficzna"
natomiast rysowanie znaku przez użytkownika powoduje (jednorazowe)
skopiowanie danych z CGRAM do pamięci graficznej

to tak jakby zdegradować graficzny lcd do tekstowego

czy po wrzuceniu nowych znaków do CGRAM nie możesz ich "odświeżyć" na
ekranie?

BartekK
Guest

Sat Sep 22, 2007 4:12 pm   



Darek pisze:
Quote:
to tak jakby zdegradować graficzny lcd do tekstowego
czy po wrzuceniu nowych znaków do CGRAM nie możesz ich "odświeżyć" na
ekranie?
Mogę. Aczkolwiek wygodniej byłoby tego nie robić Smile Tyle że wolę zrobić

soft na tyle uniwersalny że wymiana lcd nie spowoduje kaszany totalnej z
niewytłumaczalnymi objawami od strony użytkownika.

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Marcin Gala
Guest

Fri Sep 28, 2007 9:21 am   



Heliogabal pisze:
Quote:
Użytkownik "BartekK":
problemem jest sam LCD który inicjalizację wykonuje jako "zniknięcie
wszystkiego" i po chwili zaczyna wyświetlać (być może generator napięcia
ujemnego do kontrastu też zostaje zatrzymany czy coś). Dlatego pytam czy
da się to zrobić inaczej.

Nie wiem co ci znika i nie mam czasu, ani checi by sie domyslac, tym
bardziej, ze wstydzisz sie swojego programu Wink
Zobacz:
http://edw.com.pl/n0017/c_materialy/dodatkowe/dyn_spec.wmv
http://edw.com.pl/index.php?module=ContentExpress&func=display&ceid=287

A jest jakis sposob zeby dostac wszystkie artykuly z tego kursu w formie

pdf. Bo zakup gazet jakos mnie nie interesuje. W sklepie AVT plyty z EdW
koncza sie na roczniku 2003.


--
Marcin "Ahmed" Gala
m.gala(maupa)interia.pl

Tanio przyjme dowolna ilosc gotowki, przy wiekszych ilosciach mozliwy rabat.

elektroda NewsGroups Forum Index - Elektronika Polska - Jak dynamicznie definiować i zmieniać znaki na wyświetlaczu HD44780?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map