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