Forum: Mikrocontroller und Digitale Elektronik Menu


von Marco (Gast)


Lesenswert?

Hallo,

hat schon mal jemand ein Menu in avr-assembler geschrieben?
Ich bin gerad dabei mir eins für meinen 4433 zu schreiben und wenn ich 
mir den Code so anschau, dann denke ich mir das muss auch einfacher 
gehen.
Stimmt das oder muss ich mit dem seitenlangen Code leben?

mfg marco

von thkaiser (Gast)


Lesenswert?

Kommt drauf an, wie es aussehen soll....
Mit nem AVR habe ichs noch nicht gemacht, nur mit einem 80535-aber das 
sollte nicht viel Unterschied machen. Ich arbeite mit Tabellen, in denen 
ich den anzuzeigenden Text ablege und den Tastatur-Code, der das 
Ereignis auslösen soll und zuletzt die Sprung-Adresse der Subroutine. 
Der Sprung in den entsprechenden Programmteil realisiere ich mit einem 
indirekten Sprung (beim Atmel "ijmp"). Damit lassen sich auch große 
Menüs (mit Untermenüs) mit sehr wenig Code realisieren.

von Georg (Gast)


Lesenswert?

hi,

ich habe auch vor ein menü für meinen atmega 128 zu schreiben. 
Allerdings sollte meine software in C sein.

Hab mir noch keine so großen gedanken drüber gemacht, da ich gerade 
andere Probleme habe.

Es wäre aber nett wenn da einer schon ähnliches gemacht hat und mir 
etwas helfen könnte.

Danke und Gruss.

Georg.

von Marco (Gast)


Lesenswert?

Hab mein menu jetzt fertig gestellt, etwas umständlicher als die Idee 
von thkaiser, aber es läuft:
Hab die einzelnen menu-options in states eingeteilt, gehe mit ENTER als 
Interrupt in den menu-mode, gib den entsprechenden Text am LCD aus und 
warte auf Tastendruck, dem ein Sprung in einen anderen state folgt.

Naja, ist nicht besonders elegant, aber es funktioniert.
Soll mir aber erst mal reichen, will das Projekt jetzt endlich 
abschließen, hat mich schon genug Nerven gekostet.

marco

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.