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
wie wäre es mit? Ablauf.c
1 | unsigned int Index; |
2 | extern rom unsigned int Tab_02[][]; |
MFG
Hallo, "extern rom unsigned int Tab_02[][];" habe ich auch probiert, aber 77:Error: syntax error Gruß Siegfried
Hallo, habe es gefunden. nicht so extern rom unsigned int Tab_02[][]; sondern so extern rom unsigned int Tab_02[2][5]; Gruß Siegfried
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
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
Hallo, PIC, " Was macht dieses "rom" überhaupt? " -> Tabelle ist im Program Memory (Flash Programmspeicher) angelegt <- Gruß Siegfried
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.