mikrocontroller.net

Forum: Compiler & IDEs Menu als struct


Autor: Mattias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich versuche gerade ein kleines Menu für die Ausgabe auf ein Display zu
schreiben. Ich hatte die Idee das mit einem struct zu lösen, damit alles
schön übersichtlich bleibt. Ich will dabei so vorgehen:


struct setup_menu{
  char line0[]={"clock"};
  char line1[]={"com port"};
         .
         .
  char curser_pos;
  };



struct main_menu{
  struct setup_menu setup;
  char visible;
  char curser_pos;
  }menu;

Leider kann ich die Felder nicht mit dem Text versehen. Der Compiler
sagt immer:
menu.h:16: warning: no semicolon at end of struct or union
menu.h:16: error: parse error before '=' token
menu.h:19: error: parse error before '}' token
menu.h:24: error: field `setup' has incomplete type

Die Syntax ist richtig, wenn ich eine normale Variable so deklariere.
Warum kann ich das in einem struct nicht machen ??? bzw. wie kann man
sowas machen ???

Ich verwende den aktuellen winavr.

Danke schon mal für eine Antwort.

Mattias

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

bitte nutzt die Suchfunktion dafuer ist diese da.

http://www.mikrocontroller.net/forum/read-2-43123.html#new

Die Daten stehen dann auch im Flash.


Mfg
Dirk

Autor: John (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benutze nicht nur den obigen Link, sondern auch die Suche.
Hier im Forum waren zur Menüsteuerung schon prima Beiträge, unter
anderem zum Thema LCD und Menü.

Autor: Volker Endres (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an Alle,
habe mal eine ganz Grundsätzliche frage zu diesem Thema.
Bin im Moment auch dabei mir Gedanken über Menüaufbauten zu machen.
Bin aber in dieser Beziehung blutiger Anfänger.
Also mein Anliegen, gibt es denn einen lieben Mitmenschen in diesem
Forum der mir schieldern kann was der Sinn und Zweck des anlegen der
Struckturen ist und warum "ihr" immer von einem Problem mit dem Flash
redet.
Habe leider immer das Problem das oft immer gleich ganz tief in die
Materie gegangen wird aber leider keine Erklärung des Gesamten gemacht
wird. Also das Warum und wo liegt der Vorteil.

Wäre sehr net von euch wenn mir einer mal den Gesamtüberblick geben
könnte.

Danke im voraus und Gruß Volker

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal generell.

Was gehen müsste (ungetestet)

// Deklaration der Struktur
//  oder auf gut Deutsch: so sieht das Ding aus
struct setup_menu{
  char *line0;
  char *line1;
         .
         .
  char curser_pos;
};

// definition einer Instanz der Struktur
//  oder auf gut Deutsch:
//   So heisst das Ding (das aussieht wie oben beschrieben)
//   und das Folgende soll schon mal drinstehen.
struct setup_menu structName =
{
  "clock",         /* line0 */
  "com port",      /* line1 */
         .
         .
  0  /* cursor_pos */
};

Autor: mathias giacomuzzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo ich habe auch mal so ein Menü Angefangen, sieh Codesammlung
LCD-Displaymenue! Funktioniert auch wirklich, man kann es mit 3 Tasten
(up, down und Enter) bedinen!!

mfg mathias

Autor: Volker Endres (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal Danke für die Antworten,
aber ich bin eigentlich mehr an dem Allgemeinem Prinzip interessiert.
Also ob es so funktioniert, daß man für jedes Menü eine eigene Struktur
an legt usw.
Ich weiss nicht so recht wie ich es erklärren soll.
Was mir helfen würde wäre so eine Art Schaubild, daß die Zusammenhänge
darstellt.
Hat da jemand für mich vieleicht einen Litaraturhinweis oder so.

Vielen Dank Volker

Autor: mathias giacomuzzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
K&R C Buch das steht alles drin!! So habe ich es auch gelernt!

mfg mathias

und sonst mein Code anschauen und Nachmachen und probieren!!

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.