Prodám LCD 192 x 128 Graphic

NEKOMERČNÍ nabídka přístrojů, součástek a náhradních dílů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
devidos
Příspěvky: 11
Registrován: 26 črc 2009, 02:00

#16 Příspěvek od devidos »

Když to má 192 pixelů na šířku, tak je potřeba poslat 24 bytů dat na řádek.
No a poslední 4 byty se zobrazují v pořadí 23,24,21,22 (místo aby to šlo po řadě) a navíc byty 23,24 jsou o jeden pixelový řádek níž, než všechny ostatní. To je jak jsem psal, jako by to byla nádstavba nad 160-tým pixlem.
V programu nemám nic záludného, jen nastavím kurzor na pozici 0,0 a posílám sekvenčně data.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#17 Příspěvek od termit256 »

Hmm, to je divne. Ja tento konkretni displej nemam, ale s LC7981 jsem neco delal s displejem o sirce 240pixelu a nebyl tam zadny problem.
Ve znakovem rezimu to funguje normalne?

Uživatelský avatar
devidos
Příspěvky: 11
Registrován: 26 črc 2009, 02:00

#18 Příspěvek od devidos »

Ve znakovém režimu s písmenama dělá totéž, i s tím odskočením o pixelový řádek. Ješte se tam dá nastavovat hodnota Hn (počet bytů/znaků na řádek). Ale taky to není ono. Pro můj prípad tam patří dle datasheetu: 192:8 -1= 23.

Uživatelský avatar
devidos
Příspěvky: 11
Registrován: 26 črc 2009, 02:00

#19 Příspěvek od devidos »

Tak vyřešeno i pro ostatní. Vše už funguje v graf. i txt. režimu :-) 1.Je potřeba nastavit hodnotu v knihovně na Hn=28, je to ve funkci glcd_init; 2. nastavit v knihovne rozlišení displeje místo 192x128 na 240x128; 3. a pak už si jen hlídat zápis na řadek max. 24 znaků/bytů a následně skočit na nový; 4. každý nový řádek je násobkem 30.... Jinak grafické funkce z té knihovny fungují automaticky, tam se zadává pozice x,y. Tuto knihovnu jsem nepsal já.
Přílohy
lc7981_driver.c.txt
knihovna pro tento LCD
(28.7 KiB) Staženo 82 x

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#20 Příspěvek od termit256 »

Ja jsem pouzival v textovem rezimu sirku znaku 6pixelu a vsechno slo pekne postupne. Posledni znak na radku mel adresu 39, nasledujici na novem radku 40 atd... (displej mel 240bodu na sirku). Asi bude nejak zmrsene napsana ta knihovna, nebo mas spatne udaje v inicializacnich registrech, nebo to tak ma byt, tezko rict. Ja to ridil naprimo, bez pouziti neceho postahovaneho z netu, displej jel bez problemu. Jen v textovem rezimu je trochu neobvykle, ze se znak musi do displeje zapsat dvakrat na ruzne adresy, ale je to napsane v DS.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#21 Příspěvek od termit256 »

devidos píše:Tak vyřešeno i pro ostatní. Vše už funguje v graf. i txt. režimu :-) 1.Je potřeba nastavit hodnotu v knihovně na Hn=28, je to ve funkci glcd_init; 2. nastavit v knihovne rozlišení displeje místo 192x128 na 240x128; 3. a pak už si jen hlídat zápis na řadek max. 24 znaků/bytů a následně skočit na nový; 4. každý nový řádek je násobkem 30.... Jinak grafické funkce z té knihovny fungují automaticky, tam se zadává pozice x,y. Tuto knihovnu jsem nepsal já.
Dostala se mi do rukou krabice presne takovych displeju jako se zde prodavaly a opravdu mi to delalo to co tobe (zobrazovani nesmyslu na konci radku). Problem je, ze v tom displeji jsou pouzity 3x2 80bitove LCD drivery NT7086PQ. Takze displej se musi nastavit jako 3x80=240 pixelu, s tim ze se nejvyssich 48pixelu tretiho radice nezobrazuje (na displeji fyzicky nejsou) ale logika radice to nevi. Takze je v algoritmech adresovani displeje musis proste preskocit, jako by to byl 240 pixelu siroky displej a tech 48 pixelu z prave strany jsi mel zalepenych lepici paskou :-) Na vysku to bude obdobne - radic ma 160 pixelu, ale tam to nikoho netrapi. Pokud tohle dodrzis, funguje displej pekne.

Odpovědět

Zpět na „Nabídka přístrojů, součástek a náhradních dílů“