www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Menu Steuerung


Autor: Lucian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich möchte mit einen MEGA32 eine umfangreiche Menusteuerung fürs LCD
implementieren. Dazu wollte ich die einzelnen Punkte in Strukturen
packen, die jeweils links zu den Nachbarmenupunkten enthalten.

Hat hier jemand so etwas schon mal implementiert?

Für Hinweise wäre ich echt dankbar.

mfg
Lucian

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Statt verkettete Listen und Bäume empfehle ich dir einfach per Indizes
in eine Array Struktur zu arbeiten. D.h. du definierst eine Struktur
für einen Menueintrag. Diese Struktur wird als Grundlage für ein Array
benutzt. Nun, jeder solcher Menueintrag enthält ein Member wie uint8_t
NextMenu, also einen Index in das array[] zum nächsten Menueintrag.
Statt also einen Zeiger zu benutzen wir einfach ein absoluter Index ins
array benutzt. Das Array selber wäre dann eindimensional.

Gruß Hagen

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie Hagen das beschrieben hat, wurde das vor einer Weile hier schon
gepostet. Sogar mit C-Code-Fragmenten.
Ich habe das ausprobiert und es funktioniert gut. Ist auch um einiges
schneller und speicherschonender als die Zeiger-Varianten.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: schneidertobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
schau dir mal den Sourcecode zu dem MP3-Player auf pjrc.com an(CVS). Da
ist eine Datei Display.c drin. Dort ist geanu soeine Menuesteuerung
implementiert. Ist sehr gut Strukturiert und mann kann es relativ
leicht adaptieren. Ich habe mein Menusystem fuer meinen Player auch
nach diesem Vorbild aufgebaut.

Gruß Tobias

Autor: Berti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
www.mobildisco-bsj.at/uc5.doc

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.