Hallo,
ich habe mit eine Stuktur erstellt:
const byte DISP_ANZ_SPALTEN = 20;
typedef struct PROGMEM
{
unsigned char state;
const char Zeile1[DISP_ANZ_SPALTEN];
const char Zeile2[DISP_ANZ_SPALTEN];
const char Zeile3[DISP_ANZ_SPALTEN];
const char Zeile4[DISP_ANZ_SPALTEN];
} MENUE_TEXTE;
const byte ANZ_TEXTE = 3;
enum DISP {ST_HAUPT, ST_Status_1, ST_Status_2};
byte akt_Status=ST_HAUPT;
const MENUE_TEXTE menue_teste[ANZ_TEXTE] = {
{ ST_HAUPT, " Status", " Einstellungen", "", "" },
{ ST_Status_1, "Status #1", " Spannung", "Uhrzeit", "Helligkeit" },
{ ST_Status_2, ">Status #2", "L1: DIMRU" , "L2: DIMRU", "Klappe" }
};
ich kann auf Elemente der Variablen menue_teste mit der Funktion Serial.println nicht zugreifen:
void setup()
{
Serial.begin(115200);
akt_Status = ST_HAUPT;
// Schreibe neues Menü
print_menue(akt_Status);
}
void print_menue(byte Status){
// Hole Zeile aus Menütexttabelle
byte i;
byte DBG=1;
char menue_tte[25] = "Testet";
for (i=0;i<ANZ_TEXTE;i++){
if (menue_teste[i].state == Status) break;
}
if(DBG==1) Serial.print("print_menue: Textzeile");
if(DBG==1) Serial.println(String(i));
Serial.println(menue_teste[i].Zeile1);
if(DBG==1) Serial.println("Ende");
return;
}
Es kommen nicht definierbare Zeichen im Monitor an. Könntet ihr euch das mal anschauen und eure Meinung abgeben, wo der Fehler liegt?
Danke und Grüße,
Skeelo
PS: Ich verwende Arduino 1.6.12....