/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Menu på 4x20 LCD...
Fra : Brian A.


Dato : 14-04-05 21:57

Er der nogen, som har nogle 'tips eller tricks', eller evt. nogle
eksempler
på C-kode til en menu der vises på et LCD.
Jeg bruger et LCD modul med 4linier x 20karakterer, og skal kunne
"scrolle"
op og ned med to knaper. Jeg skal med en tredie knap kunne vælge op til 4
af
menupunkterne, en slags 'enter' knap. Menupunkterne står i en bestemt
rækkefølge, og hvert punkt har så et bit i et kontrol-ord. Det respektive
bit sættes når et punkt er valgt, og altså max 4 punkter/bits.
Jeg ved ikke helt hvor jeg skal starte, men jeg har da et par ideer :)
Al hjalp modtages med kyshånd...

På forhånd tak for hjælpen!


--
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 8167 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent den gratis her: www.spamfighter.dk



 
 
Ukendt (16-04-2005)
Kommentar
Fra : Ukendt


Dato : 16-04-05 16:05

> Er der nogen, som har nogle 'tips eller tricks', eller evt. nogle
> eksempler
> på C-kode til en menu der vises på et LCD.
> Jeg bruger et LCD modul med 4linier x 20karakterer, og skal kunne
> "scrolle"
> op og ned med to knaper. Jeg skal med en tredie knap kunne vælge op til 4
> af

Et menusystem, tjoo har rodet lidt med det.

Overordnet set skal du jo have menustrukturen (selve menupunkterne) i nogle
arrays af nogle structs, og så skal du have nogle funktioner der kan
fortolke dem og skrive det rigtige i displayet.

Hvis du nu har en liste af 10 ting du skal vise, må du jo nøjes med at
skrive de 4 første, og så måske lave et symbol med en pil så man kan se at
man kan scrolle ned.
Til det lavede jeg en funktion der tog disse parametre
paintWindow(char pos, char count , pTextProvider)
Pos er positionen, altså om man er i toppen af listen, eller længere nede
(Hvis pos er nul, skrives text 0-3, når man så trykker 'ned' bliver pos 1,
og text 1-4 skrives osv)
Count er bare antallet af linier i listen
pTextProvider er en pointer til en funktion der kan give mig den rette text
at skrive i den pågældende linie. Denne funktion skal tage et argument der
angiver nummeret på den text man vil have (0-9 hvis der er 10 ting).

Ved tegning af menuen havde jeg så en rimelig simpel textProvider der bare
fandt teksterne i mit menu array. Ved visning af en række
konfigurationsparametre havde jeg så en lidt mere kompliceret tekstProvider
idet den satte noget text og nogle tal sammen med sprintf.

På den måde kunne jeg bruge den samme funktion til flere formål. Det er vist
det der kaldes "Owner Drawn" inden for windowsprogrammering.

makes sense ?

tpt



> menupunkterne, en slags 'enter' knap. Menupunkterne står i en bestemt
> rækkefølge, og hvert punkt har så et bit i et kontrol-ord. Det respektive
> bit sættes når et punkt er valgt, og altså max 4 punkter/bits.

Forstår intet !




Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste