Probleme mit Tabelle

OP #1009238
Lesenswert?

Hallo guten morgen,

bekomme folgende Fehlermeldung "113:Error [1129] [] operator requires a 
pointer and an integer as operands"

um übersichtliche Programmierung zu erhalten, habe ich "Tab_02[2][5]" in 
eine eigne *.c Datei angelegt.
Tabelle.c
rom unsigned int Tab_02[2][5] = \
{   { 1,2,3,4,5} ,      \
    { 11,22,33,44,55}   \
};


Ablauf.c
unsigned int Index;
extern rom unsigned int Tab_02[];

void Arbeit(void)
{
Index = Tab_02[0][3];
}


Gruß Siegfried
OP #1010714
Lesenswert?

Hallo,
Habe ein weiteres Problem mit Tabellen Zugriff. Einspaltige Tabelle ist 
im Program Memory angelegt.

*.h
#define MaxTabLogic 256
Prozess unsigned int   GetTabLogic;
Prozess unsigned int   *ZeigerTabLogic;

*.c
rom unsigned int TabLogic[MaxTabLogic] =
{
285,    //  -->>  Taster_Y
..
537,    //  -->>  Taster_X
}

*.c
extern rom unsigned int TabLogic[MaxTabLogic];

ZeigerTabLogic = (unsigned int*)(void*)&TabLogic[0];
GetTabLogic = *ZeigerTabLogic;

Die Variable wird nur mit dem Wert 0000 geladen, obwohl 285 an der 
Stelle im Array steht.
Über Offsetwert funktioniert es.
GetTabLogic = TabLogic[0];

Was mache ich schon wieder falsch?


Gruß Siegfried
#1010744
Lesenswert?

Was macht dieses "rom" überhaupt?

Werden die Konstanten dann im flash abgelegt? Dann musst du mit LPM 
drauf zugreifen (ist das ein AVR?) und normale Zeigeroperationen gehen 
meines Wissens nicht, da Harvard-Architektur ...

Bitte um Aufklärung, falls sich da in der letzten Zeit was geändert hat 
:-)

MfG
Thomas Pototschnig

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren