Stránka 1 z 2
LCD menu
Napsal: 08 bře 2010, 21:21
od frontm4n
Zdravim... potreboval bych poradit jak udelat viceurovnove menu do LCD..
Mam ATmega16 s LCD16x02...
mam 3 tlacitka: 2 pro rolovani a jedno pro potvrzeni
MENUA
- MENUa -> (-MENU1-MENU2-MENU3)
- MENUb -> (-MENU1-MENU2)
- MENUc
- MENUd
MENUB
- MENUa -> (-MENU1)
- MENUb
- MENUc
Poradil by mi nekdo jak na to... 1 urovnove menu zvladnu....ale dal uz nevim jak to pak delat abych prechazel do tech dalsich menu...
Nevim jake na to pouzit smycky a jestli to mam umistit primo do nekonecne smycky.... Pres preruseni to delat nechci, protoze chci ty menu prolezt na zacatku a pak se provedenejaky ukol a pak to muze bezet cele znova.... Snad to nekdo pochopi

Napsal: 08 bře 2010, 22:29
od procesor
Kua,... nerozumiem. Implementuj MS Okná, a je to,.... aj bez prerušení

Napsal: 08 bře 2010, 23:31
od Bernard
Když to nebude v přerušení, musí být vše v hlavní smyčce. Asi bych vnořoval příkazy
Kód: Vybrat vše
switch (menuL1)
{case 1: switch (menuL2)
{
case 1:
case 2:
}
case 2:
}
aby zrcadlili požadovanou strukturu víceúrovňového menu.
Napsal: 09 bře 2010, 10:12
od ZdenekHQ
Jak píše Bernard - zvolíš si např. proměnnou Menu a popř. Submenu, tam si uložíš číslo zvoleného menu (tlačítka použiješ jako UP,DOWN a ENTER) a v dalším "kole" programu skočíš na výpis a funkce daného menu. Je to pakárna, končí to tak, že samotný soft má 50 řádků a obsluha menu 500 i více. Obsluha tlačítek může být společná, jen ti chybí ještě MENU/EXIT či něco podobného.
Napsal: 09 bře 2010, 10:44
od Andrea
Nebo se dá to menu udělat podobně jako adresářová struktura na disku. Pak se všechna menu i submenu obsluhují stejně.
Napsal: 09 bře 2010, 10:51
od frontm4n
Andrea píše:Nebo se dá to menu udělat podobně jako adresářová struktura na disku. Pak se všechna menu i submenu obsluhují stejně.
muzes to prosimte trochu vic rozvezt jak na to .... jestli je to lepsi nez to delat pres ty switche? treba i kousek kodu...
Napsal: 09 bře 2010, 11:07
od Andrea
Každé menu nebo submenu by byl seznam položek, položka by byla dlouhá třeba 8 bytů (aby se daly snadno procházet) a měla by například následující strukturu:
2 byty - typ položky (konec menu / menu / číselná položka / ON-OFF přepínač / číselná položka s omezeným rozsahem / .....)
2 byty - pointer na ASCIIZ název položky
2 byty - pointer na data položky nebo pointer na seznam položek submenu pokud je položka typu menu
2 byte - třeba omezení rozsahu číselné položky
(Poslední dvě položky můžou být v jednoduchých případech přímo data položky, pokud je menu v RAM paměti)
První položka by byla vždy typu menu a obsahovala by pointer na předchozí menu nebo pointer sama na sebe v případě hlavního menu. Zda by se i tato položka zobrazovala v menu např. jako šipka nahoru nebo <zpět> nebo by byla skrytá a aktivovala se např. stiskem Esc záleží už na konkrétní implementaci. Poslední položka v menu by byla typu konec menu.
K tomu by byly dvě proměnné - pointer na seznam položek aktuálního menu a číslo aktuální položky v menu.
No a obsluha takové struktury je už snad jasná né?

Napsal: 09 bře 2010, 13:44
od piitr
Kdyby to někomu nebylo snad úplně jasné, i když je to trivialita, sesmolil jsem takový malý mustr. Ladil jsem to na PC pod Widlema, ale určitě to půjde upravit.
Napsal: 09 bře 2010, 20:57
od frontm4n
diky za cenne rady...
...jeste bych se chtel zeptat jestli nevite o nejakem programu... ktery by takove menu dokazal sam generovat... cetl sem v jedne knizce od Matouska o tzv. LCD_TOOL, ale ten program sem nenasel....urcite by to usnadnilo praci
ale jinak dekuji vsem za prispevky
Napsal: 09 bře 2010, 22:31
od Bernard
Kdysi dávno se mi jeden programátor svěřil, že on by spíš použil zubní kartáček svého kolegy než kus jeho kódu. Éra těchto hrdých umělců nenávratně skončila, a i můj syn mi říká: "Když mám něco vyřešit, tak se nejdřív rozhlídnu, jestli to už někdo navyřešil.". Asi to má tak být, v zájmu rychlého pokroku.
frontm4ne, určitě nejdřív hledej LCD_TOOLs!

Napsal: 09 bře 2010, 22:48
od rnbw
Dobry programator pouzije overenu funkcnu kniznicu a nebude znovu vynachadzat koleso. To znovuvynajdene koleso totiz byva hranate.
Napsal: 09 bře 2010, 23:27
od Bernard
Jistě, vždyť netvrdím nic jiného. Ale upřímně,
rnbw, nepřipadají ti všechna ta dnešní kola tak děsně fádní?

Napsal: 10 bře 2010, 08:35
od piitr
Co znamená "generovat menu"? Co by měl být vstup toho generování?
Napsal: 10 bře 2010, 12:46
od piitr
Bernard píše:"Když mám něco vyřešit, tak se nejdřív rozhlídnu, jestli to už někdo navyřešil.". Asi to má tak být, v zájmu rychlého pokroku.
Ono záleží asi taky trochu na tom, jestli hledám jinde kvůli lenosti a snaze o standardizaci, nebo prostě nevím, jak bych to řešil sám. V tom druhém případě bych nějaký rychlý pokrok moc neočekával.
Napsal: 10 bře 2010, 13:04
od frontm4n
piitr píše:Co znamená "generovat menu"? Co by měl být vstup toho generování?
tohle sem nasel v jedne knizce, ale nikde na netu sem podobny program nenasel...