Obsluha LCD
Michal HW
michalgregor@centrum.cz
Čtvrtek Červen 29 14:10:49 CEST 2006
Pokousim se vyresit knihovnu pro LCD 2x20, konkretne univerzalni funkci pro
menu.
Zatim jsem ve stadiu uvah.
Pro menu jsem si udelal structuru:
typedef struct {
u08 Text[21]; //Text na prvni radek LCD
void (*Vypis)(); //Vypis hodnoty na druhy radek LCD
void (*Edit)(); //Tato funkce spusti editaci
u08 Navrat; //číslo nadřazeného menu
} MENU;
Funkce *Edit() a *Vypis() nemusi delat nic. Funkce *Edit() muze zmenit
ukazatel na structuru a tim padem spustit podmenu. Pri stisku Esc se pouzije
cislo v Navrat.
Behem listovani v menu se vypise Text a Vypis(). Po stisku klavesy Enter se
spusti Edit().
Po zmacknuti Esc se prejde do nadrazeneho menu, jehoz cislo je ulozeno v
Navrat.
Zatim mam jen definici:
const MENU Menu_Obsah [3]=
{
"Stav systemu",Stav_Vypis,Stav_Edit,0
"Verze programu",Verze_Vypis,Prazdna_Funkce,0,
"Mereni",Mereni_Vypis,Mereni_Edit,0,
};
(Prazdna_Funkce nedela nic)
Chci si udelat pole ktere bude obsahovat vsechny menu:
const MENU Menu_Obsah[5] [10]= {
...
...
}
(kde 5 znamena pocet menu a 10 pocet polozek v jednom menu. )
Nemate to nekdo jiz vyresene? Pripadne nejake priklady na netu?
Michal Gregor
Další informace o konferenci Hw-list