-         

Ergebnis 1 bis 2 von 2

Thema: LCD Menü

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.10.2007
    Ort
    Aalen
    Alter
    33
    Beiträge
    24

    LCD Menü

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    Hab hier einen Code aus einem Forum, nur leider gibt es wohl den Thread ersteller nicht mehr, daher hab ich nun Probleme mit folgendem Code:

    Code:
    typedef prog_char			menuCap_t; // Titeltext im Flash
    typedef const menuCap_t*	PROGMEM menuCap_a; // array von Titeltexten im Flash
    
    typedef struct {
    	const menuCap_t* 	caption;
    	const uint8_t		type;
    	const prog_void* 	func;
    } menuSub_t PROGMEM;
    
    typedef struct {
    	const menuCap_t*	caption; // Title
    	const uint8_t		count;
    	const menuSub_t		items[];
    } menuDef_t PROGMEM;
    
    typedef uint8_t (*menuFunc_t)(const menuDef_t* menu, uint8_t index, uint8_t event); // callback
    extern uint8_t menuProcess(const menuDef_t* menu);
    Code:
    	menuCap_t mcMain[]		= "Hauptmenue";
    	menuCap_t mcProperties[]	= "Einstellungen";
    	menuCap_t mcSecurity[]	= "Sicherheit";
    
    	menuDef_t mmMain = {mcMain, 0, {{ mcProperties, 0, 0},{ mcSecurity, 0,0}}};
    So ist der Originalcode von Ihm, mein AVR Studio meldet mir jedoch folgendes beim Compilieren:

    ../control.c:45: error: non-static initialization of a flexible array member
    ../control.c:45: error: (near initialization for 'mmMain')

    Die Zeilen nummern stimmen nicht mehr, aber es handelt sich um diese Zeile:

    Code:
    	menuDef_t mmMain = {mcMain, 0, {{ mcProperties, 0, 0},{ mcSecurity, 0,0}}};
    Könnte mir jemand weiterhelfen?

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Siehe Antwort auf mikrocontroller.net.
    MfG
    Stefan

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •