Flernivå menysystem till µc
Postat: 8 maj 2006, 09:27:50
Har hittat en massa trådar om hur man får igång LCDer både i mjukvara och hårdvara, men jag har inte hittat någon tråd om hur man gör en meny till en LCD med en µC.
De två varianter jag har funderat på är switch/case och en array med data. Switch/case-varianten fungerar så att man helt enkelt kollar vilket mode man är i och utför det som står i den delen. Om man vill flytta upp eller ner i menyn så flyttas "pekaren" till nästa plats i menyn. Denna metod funkar ju och man har ganska bra översikt vad som händer, men det känns onödigt att skriva samma if-sats om och om igen.
Att använda en array av data borde i teorin vara lite kortare.Vad jag har förstått så använder samma rutiner för knapparna och flytta pekaren, sen flyttar man bara runt i en array som bestämmer vad som ska göras. Denna variant är ännu överskådligare eftersom man lägger hela menyn som endast innehåller menydata på ett ställe och funktionerna på en annan och ingen överflödig kod som ser precis likadan ut på 20 ställen.
Problemet för mig är att jag inte riktigt får dom att göra som jag vill, så fort jag vill göra lite extra i dom så strular det till sig.
Det finns säkert fler sätt att göra detta på och det är dom jag vill ha reda på. Hur gör ni när ni gör ett menysystem? Kom gärna med så många förslag som möjligt och lägg gärna upp kod. Jag programmerar för tillfället i Hitech C till PIC18 men det spelar ingen roll om det är i andra språk eller till andra kretsar.
De två varianter jag har funderat på är switch/case och en array med data. Switch/case-varianten fungerar så att man helt enkelt kollar vilket mode man är i och utför det som står i den delen. Om man vill flytta upp eller ner i menyn så flyttas "pekaren" till nästa plats i menyn. Denna metod funkar ju och man har ganska bra översikt vad som händer, men det känns onödigt att skriva samma if-sats om och om igen.
Att använda en array av data borde i teorin vara lite kortare.Vad jag har förstått så använder samma rutiner för knapparna och flytta pekaren, sen flyttar man bara runt i en array som bestämmer vad som ska göras. Denna variant är ännu överskådligare eftersom man lägger hela menyn som endast innehåller menydata på ett ställe och funktionerna på en annan och ingen överflödig kod som ser precis likadan ut på 20 ställen.
Problemet för mig är att jag inte riktigt får dom att göra som jag vill, så fort jag vill göra lite extra i dom så strular det till sig.
Det finns säkert fler sätt att göra detta på och det är dom jag vill ha reda på. Hur gör ni när ni gör ett menysystem? Kom gärna med så många förslag som möjligt och lägg gärna upp kod. Jag programmerar för tillfället i Hitech C till PIC18 men det spelar ingen roll om det är i andra språk eller till andra kretsar.