ich versuche mich grad am tutorial EEprom aber mit etwas komm ich nicht klar und zwar möchte ich zb an adresse 15 den wert 75 schreiben und dann wieder Auslesen jedoch wird an adresse 0 im eeprom geschrieben und gelesen vielleicht kann mir da einer weiterhelfen /* Byte */ uint8_t eeFooByte EEMEM = 15; void eeprom_read (void) { uint8_t myByte; // myByte lesen (Wert = 75 ) myByte = eeprom_read_byte (&eeFooByte); } void eeprom_write (void) { uint8_t myByte; // myByte schreiben (Wert = 75 ) myByte = 75; eeprom_write_byte(&eeFooByte, myByte); // schreiben }
Andreas schrieb: > ich versuche mich grad am tutorial EEprom > aber mit etwas komm ich nicht klar und zwar möchte ich zb an adresse 15 > den wert 75 schreiben und dann wieder Auslesen jedoch wird an adresse 0 > im eeprom geschrieben und gelesen > vielleicht kann mir da einer weiterhelfen > > /* Byte */ > uint8_t eeFooByte EEMEM = 15; das ist nicht die EEPROM Adresse 15. Mit EEMEM überlässt du es dem Compiler/Linker, diese (Pseudo-)Variable im EEPROM anzuordnen. Wenn du gezielt im EEPROM eine Adresse ansprechen willst, dann musst du auch diese Adresse direkt angeben
1 | void eeprom_read (void) |
2 | {
|
3 | uint8_t myByte; |
4 | myByte = eeprom_read_byte ((uint8_t*)15); |
5 | }
|
6 | |
7 | void eeprom_write (void) |
8 | {
|
9 | uint8_t myByte; |
10 | myByte = 75; |
11 | eeprom_write_byte((uint8_t*)15, myByte); // schreiben |
12 | }
|
wie kann ich denn so schreiben das nun zb an adresse 15 Geschrieben und Gelesen wird
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.