Fórum témák
» Több friss téma |
Fórum Idézet: „Kíváncsi voltam meddig tudom feszegetni a határokat” Ha megnövelnéd az LCD órajelét ellenállás cserével, lenne ez még jobb is. Vélhetőleg az Arduinós libekben is lehetne ezt az utat követni, mert ott is µs-os késleltetések vannak. Gondolom ezeket biztonsági ráhagyással teszik bele a kódba, mégpedig a 3.3 voltos, lassabb órajelű LCD-khez igazodva.
Kíváncsi voltam meddig tudom feszegetni a határokat, és elkezdtem csökkenteni a µs-os késleltetéseket a programban, hogy tovább növeljem a kijelzőre írás sebességét.
A tesztelt kijelzővel 39µsec/karakter sebességig nem hibázott a kijelző, 38µsec/karakter sebességnél viszont már előfordultak hibák. Tehát a 2x16-os kijelző kb. 1,25ms alatt teleírható (nyilván ez függ az adott kijelzőtől is, régebbi vagy más típusok esetleg lassabban írhatók) Idézet: Korábban említettem, hogy megmérem én is a (a weblapomon leírt) léptetőregiszteres megoldással mennyi ideig tart teleírni a 2x16-os kijelzőt. BluePill-t használtam, 74HCT595 léptetőregisztert, és hasonlóképp 10x teleírtam a kijelzőt (kipróbáltam 100X teleírást is, az eredmény visszaosztva ugyanaz). Gyakorlatilag a 10x teleírás 26ms ideig tartott, azaz: kb. 81µsec/karakter sebességgel írta a kijelzőt.„Csináltam egy tesztet. 10-szer egymás után teleírtam mindkét sort az LCD-n. Törlés nem volt, csak felülírás. 4 biten: 74 millisec. I2C alap sebességen: 244 millisec. I2C 800000-es sebességen: 66 millisec.” Összehasonlításképpen a korábbi méréseddel: 4 biten: 74 millisec. --> 231µsec/karakter I2C alap sebességen: 244 millisec. --> 762µsec/karakter I2C 800000-es sebességen: 66 millisec. --> 206µsec/karakter A konklúzió számomra: amenyiben számít, hogy mennyi ideig tart a kijelző írása, akkor a léptetőregiszteres megoldás elég jó alternatíva... A mérést a forrasztóállomásom kódjába tettem bele ideiglenesen, ill. próbaképpen:
Szia
Köszi ..... tálán valamikor erre is szükségem lesz.
Ott 5.Character Generator ROM Pattern Table.2- azt írja hogy megvan minden magyar betű. Beszerzek 1 ilyet.
Szia, sejtettem, hogy amit leírtam még bonyolult, de ha sok szöveg van és más más karakterkészletű LCD-hez is szeretnéd használni, akkor ez a legjobb módszer. A többi az favágás, de nyilván működik kicsiben.
Az Angol/európai készletben nincs kis ő és ű, ezeket mindenképpen definiálnod kell. Ezen kívül a ritkán használ nagy betűk Á, Í, Ó és Ú sincsenek. Nálam ez az átváltó tábla erre a karakter készletre:
Nézd meg az adatlapját, abban általában benne van a karakterkészlete.
Sziasztok
A segítséget mindenkinek köszönöm a 40x2 lcd témába. majkimester a te megoldásodhoz én egy kicsit amatőr vagyok de az biztos, hogy működne. Már csak 1 kérdésem lenne. A TME-nél láttam ezt a 40x2-es Lcd-t. Azt írja ,hogy támogatott karkterkészlet Angol/európai . Ennél a kijelzőnél elég lenne magyarul írnom és az magyrul jelenne meg vagy itt is létre kéne hozni saját karaktert?
Pillanatok alatt összedobhatsz egy tesztprogramot, ami megjeleníti a teljes karakterkészletet a kijelzőn (nyilván csak scrollozva). De ha biztosra akarsz menni, akkor használd a 8db szabadon szerkeszthető karaktert, amit a 0..7 vagy a 8..15 karakterkódon tudod elérni.
Ötletadónak itt egy általam 1000 éve írt karakteres lcd driver, azon belül az examples / demo-cursor mappában vannak a példák pic és avr procira.
Most átalakítottam ilyenre
ennek semmi köze az á betűhöz de ugyanazt írja
Ez sajnos csak a kijelző adatlapja, azt lenne jó tudni, hogy milyen meghajtó IC van rajta.
Pár kérdés: Másik saját betűvel is ökörködik, vagy csak az á-val? Ha az á helyett valami más mintát írsz be (pl tele kocka, vagy csíkok), akkor abból mi lesz? Ha másik címre teszed az át (pl. 2) és úgy írod ki, akkor mi történik? A hozzászólás módosítva: Márc 10, 2021
Közbe megtaláltam az adatlapját. Esetleg ki lehet belőle valamit böngészni.
https://www.alldatasheet.com/datasheet-pdf/pdf/43112/SHARP/LM40X21A.html
Most így.
A szöveg Világitás akar lenni
Arra gondolt a kolléga, hogy szívesen segít mindenki, de segítséggel sem könnyű mindig. A legegyszerűbb és legkönnyebb út, ha valaki megcsinálja helyettünk, pénzért.
Hogy néz ki az a krix krax ami az á helyett jelenik meg?
Kicsit azt érzem , hogy nem segítesz szívesen. De azért köszi neked is. És utánaolvastam Debreceni Megtestesülés Plébánia pdf fájljában itt írtam nem kértem , hogy 100 soros kódot írjál nekem csak, hogy írd le hogy hogyan gondolod.
Idézet: „(max., ha kifizeted valakinek)” Én pl szívesen segítek ingyen (ha épp tudok).
Nem vagy fárasztó, csak én türelmetlen. Meg picit zavaró, hogy nem olvasol utána egyáltalán. De ezen kívül nincs semmi, nekem sem kötelező, hogy írjak, úgyhogy te se vedd magadra amit írtam. Egyszerű sosem lesz, azt az utat ne is keresd (max., ha kifizeted valakinek)! Ezt el kell fogadnod.
A hozzászólás módosítva: Márc 10, 2021
Huuuuuuuh. 40x2-esen az á betű még igy is krix-krax
OK. Köszi szépen.
Igazából Kovidivi szerint ez egyszerűbb (háát nekem nem) ![]() És ez az egyszerű megoldás? Ez kb 6szor bonyolultabb (átláthatatlanabb) de működik A hozzászólás módosítva: Márc 10, 2021
Itván itt az 5-ös lapon azt írja
lcd.write(karakterkód) – egy karakter kiíratása lcd.print(”szöveg”) – szöveg kiíratása Sehogy se jó. Fárasztó vagyok? Kipróbálva le tudnád írni? Sehogy nem fogadja el a fordító Pontosan mi van a zárójelbe? lcd.write (?????);
És ha több karaktert egymás után írsz ki (irónia). Gondold át egy kicsit ezt az egészet. Szeretnélek a jó útra terelni, de ez így nagyon fárasztó.
Kiírod: "sz" utána az ö betűt, aztán "veg". Ennyi. Megkapod a kijelzőre a "szöveg" szót...
Elméletben amit csinálnod kellene:
Létrehozni egy saját LiquidCrystal osztályt, mondjuk MyLiquidCrystal néven, ami a LiquidCrystal-ból származna, és ebben override-olni a write függvényt. Beletenni egy switch-case-t ami átváltaná az ékezetes karaktereket a megfelelő kódra, és azzal felhívná a szülő osztály write függvényét. A programodban a LiquidCrystal helyett a MyLiquidCrystal-t kellene használni, és akkor menne a lcd.print("árvíztűrő tükörfúrógép") is. Átváltásra én például ezt használom (natív c-ben), persze az LCD karakterkészletének megfelelően van többféle átváltási táblázatom. Az English-Japanese karakter készlet a leggyakoribb.
A LiquidCrystal-ból leszármaztatásra egy hasonló példa, csak más osztállyal: Példa A szülő osztályból a write felhívása meg ha minden igaz LiquidCrystal::write(ch) módon megy.
Nem 1 karaktert akarok kiíratni hanem egy szöveget.
Megnézted a google első találatát? "lcd.write(byte(0));".
|
Bejelentkezés
Hirdetés |


Nem tudja valaki az értékét? 

