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.
Prodám LCD 192 x 128 Graphic
Moderátor: Moderátoři
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á.
![Smile :-)](./images/smilies/icon_smile.gif)
- Přílohy
-
- lc7981_driver.c.txt
- knihovna pro tento LCD
- (28.7 KiB) Staženo 82 x
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.
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 paskoudevidos píše:Tak vyřešeno i pro ostatní. Vše už funguje v graf. i txt. režimu1.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á.
![Smile :-)](./images/smilies/icon_smile.gif)