MeresLabor2Meres3LCD

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


Ha esetleg az LCD kijelző egzotikusabb dolgaira is szükséged van, mint pl. a kijelző jobbra/balra léptetése, vagy kíváncsi vagy mit csinál a "word wrap" (nem azt, amire elsőre gondolsz), vagy mi történik akkor, ha teleírtad a kijelzőt ...

Túlcsordulás

Ha üres képernyővel kezdesz és írod egymás után írod ki a karaktereket, azt látod, hogy amikor a kurzor eléri a képernyő jobb szélét, automatikusan soremelést végez. Ez eddig mind szép és jó, a meglepetés akkor ér, amikor elérsz a legutolsó sor végére. Ekkor ugyanis azt várnád a PC-s beidegződések alapján, hogy az utolsó három sort shifteli eggyel felfelé, legelső sor elűnik, és alul kapsz egy új üres sort aminek az elején ott villog a kurzorod.

Ami e helyett történik: a sorokat nem shifteli felfelé, az első sor is a helyén marad, a kurzor az első sorba kerül, és ott kezdi felülírni a sor tartalmát. Pl.: Kiírsz 80 "A" betűt majd három "B-t" (a kijelző 4*20-as):

BBBAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA

Tanulság: használj "LCD_CLS"-t.

LCD_ShiftDisplay

Ha hirdetőtábla a házifeladatod kézenfekvő megoldásnak tűnik, viszont van pár probléma vele:

  • A kijelző szélessége korlátozza a shiftelhető szöveg maximális hosszúságát (Max 2*20 karakter)
  • A kijelző szélén eltűnő karakterek két sorral arrébb jönnek be (pl. üres képernyőre az első sorba kiírsz valami szöveget, kishiftel, bejön a 3. sorban, majd az 1. sorban, majd újra a 3.-ban stb. ; ha először a 2. sorba írsz a helyzet hasonló: 2. sor -> 4. sor -> 2.sor -> 4.sor stb. )

Megjegyzés: LCD_ShiftDisplay használata után az egyes karakter helyekre mutató címek is elshiftelődnek! pl.: ShiftDisplayL használata után az X=0, Y=0 helyen lévő karakter a X=19, Y=2, címre kerül át. Óvatosan tehát használata után a GOTOXY-al, mert minden összekavarodhat. Megoldás képp érdemes egy saját szubrutint írni, ami nyomon követi a shiftelések okozta változásokat és aszerint helyesbíti a címzést. -- treb - 2008.03.18.

Word_wrap

Ha a "Word_wrap" be van kapcsolva, akkor a kijelző jobb szélének elérése után nem egy, hanem két soremelés következik be. (Tudom elég idióta dolgonak tűnik, de ez van.)

-- zslevi - 2005.12.07.