Arduino, zobrazování dat na LCD
Moderátor: Moderátoři
Arduino, zobrazování dat na LCD
Ahoj, narazil jsem u barevného LCD na jednu vlastnost Když je zkrátí délka zobrazovaného udaje, např. název dne v týdnu, zmizí znaménko mínus u teploty, zůstanou na displeji zbytky původního údaje, které se nepřepíší novým kratším.
Nějaký nápad jak to ošetřit. Děkuji
Nějaký nápad jak to ošetřit. Děkuji
- pocitujlasku
- Příspěvky: 1757
- Registrován: 12 pro 2005, 01:00
- pocitujlasku
- Příspěvky: 1757
- Registrován: 12 pro 2005, 01:00
doga: je to o tom, ako je to naprogramovane. Ja vsetky hodnoty drzim v premennych, a napr. odcitam teplotu, novu hodnotu porovnam s povodnou a ak je ina, tak zavolam funkciu napr. prekresli teplotu. ta sa uz postara o to, ze ma definovane kde presne sa na displeji zobrazuje teplota a teda vie zabezpecit prekreslenie len tej casti, kde sa zobrazuje.
Teda kedykolvek v programe mam info o vsetkych aktualnych hodnotach a viem ich kedykolvek nielen zobrazit, ale aj napr. odoslat, vyhodnotit... Nie je to len nacitam -> zobrazim a zahodim.
Teda kedykolvek v programe mam info o vsetkych aktualnych hodnotach a viem ich kedykolvek nielen zobrazit, ale aj napr. odoslat, vyhodnotit... Nie je to len nacitam -> zobrazim a zahodim.
No vidis, a tak si sa bal
Tohle se stávalo i na PC. Respektive pořád stává, je to prostě vlastnost vykreslovací funkce.
Ono to doplnění mezerami nemusí být tak složité, jak to vypadá. Stačí to napsat chytře:
tím řeknete, že má funkce fprintf doplnit číslo (d je dekadické) zleva mezerami, aby mělo 6 znaků.
Nevim, jak se jmenuje displej (já si tam většinou nasměruju stdout).
Pokud nepíšete na displej jako do datového proudu (už si nevzpomínám, jak to má arduino řešené, mě se líp dělá v avrstudiu, kam jsem všechny potřebné funkce převedl a nevim, jestli jsem si tohle nedodělával), pak se spíš hodí sprintf, jejíž výsledek předhodíte funkci, která píše text na displej.
To s tím vypsáním barvou pozadí je taky dobré, ale jenom pokud je na pozadí jednolitá a známá barva.
Ono to doplnění mezerami nemusí být tak složité, jak to vypadá. Stačí to napsat chytře:
Kód: Vybrat vše
fprintf(displej, '%6d',udaj)
Nevim, jak se jmenuje displej (já si tam většinou nasměruju stdout).
Pokud nepíšete na displej jako do datového proudu (už si nevzpomínám, jak to má arduino řešené, mě se líp dělá v avrstudiu, kam jsem všechny potřebné funkce převedl a nevim, jestli jsem si tohle nedodělával), pak se spíš hodí sprintf, jejíž výsledek předhodíte funkci, která píše text na displej.
To s tím vypsáním barvou pozadí je taky dobré, ale jenom pokud je na pozadí jednolitá a známá barva.
- pocitujlasku
- Příspěvky: 1757
- Registrován: 12 pro 2005, 01:00