Also, sowas die "DATA" und einfach der Reihe nach auslesen hat C meines Wissens nicht. Da muss alles als Konstante einen namen haben
Schau mal, vielleicht hilft es auf die Sprünge
https://www.roboternetz.de/phpBB2/ze...hlight=progmem
Moin.
Mal wieder Umsteigerprobleme von Bascom nach C:
Ich Suche die für C (AVR Studio) die Gegenstücke, mit denen ich in Bascom Daten im Flash ablegen und bei Bedarf wieder abholen kann.
Der bisherige Code den ich hab, scheint nicht zu funktionieren (bzw. tuts auch nicht):
In Bascom würde ein Konstrukt etwa so aussehen:Code:flash unsigned char variable[][2] = { 0x01,32, 0x02,24, 0x03,18, 0x04,99 }
Wenn sich das ganze auch mit Words statt Bytes verarbeiten lässt, wärs noch besser.Code:... DO ... Restore Datalabel1 Read var1 Read var2 ... LOOP DATA Datalabel1: DATA 1, 32 DATA 2, 24 DATA 3, 18 DATA 4, 99
Aber dazu würde ja einfach "flash unsigned ui16_t variable[][2] = ..."
gehen... wenns denn gehen würde.
mfG
#ifndef MfG
#define MfG
Also, sowas die "DATA" und einfach der Reihe nach auslesen hat C meines Wissens nicht. Da muss alles als Konstante einen namen haben
Schau mal, vielleicht hilft es auf die Sprünge
https://www.roboternetz.de/phpBB2/ze...hlight=progmem
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ich selbst habe sowas bisher nicht gemacht, kann dir aber sagen wonach du suchen musst: PROGMEM
zu dem Thema gibt es sicher irgendwo passende Tutorials.
edit:
da war ich wohl zu langsam
So viele Treppen und so wenig Zeit!
Also habs jetzt mal versucht, klappt aber nicht so ganz, da der Compiler nen Fehler meldet.
Ausschnitt aus dem Header:
Fehler: Expected ',' or ';' before 'void'Code:typedef struct{ ui16_t s_current; ui16_t s_keyfunc; ui16_t s_next; } stc_menuitem; const stc_menuitem menuitems[] PROGMEM = { { 0x0000, 0x0000, 0x0000}, // To be filled { 0xFFFF, 0xFFFF, 0xFFFF} } void UpdateLCD(void); void System_Sleep(void); void System_WakeUp(void);
Bemängelte Zeile: void UpdateLCD(void);
Irgendwie seh ich das angeblich fehlende Zeichen nicht im direkten Vergleich zwischen meinem und dem aus dem anderen Thread.
#ifndef MfG
#define MfG
Naja, der Compiler hätte gern ein ; hinter der letzten geschweiften Klammer.
So viele Treppen und so wenig Zeit!
Thx... eigentlich logisch
Dachte das hätt ich schon versucht.
#ifndef MfG
#define MfG
Lesezeichen