Gast
#411648
Hallo, Ich nutze WinAVR, das AVR-Studio, den GCC-Compiler und habe eine Frage zum Thema EEPROM. Ich habe ein Array(uint16_t array[512]) was insgesamt 1024 Byte groß ist. Das liegt normalerweise im RAM aber ich möchte es gerne ins EEPROM schreiben, da ich keine Platz mehr auf meinem Atmega32(nur 2KByte) habe. Diese Array liegt in einer Headerdatei und wird vom restlichen Programm genutzt. Nun zu meiner Frage: Wie stelle ich es an, dass dieses Array anstatt im Ram ins EEPROM verschoben wird und auch der Rest des Programms dann auf das EEPROM zugreift wenn das Array benötigt wird? Ich weiss, dass ich die avr/eeprom.h nutzen müsste und dann wahrscheinlich auch die Funktion write_block: eeprom_write_block(myArray,eeFooByteArray1,sizeof(myArray)); Ich verstehe leider nicht was der 2. Übergabewert ist, also das eeFooByteArray1. Kann ich nun mit dieser Funktion einfach so dieses Array ins EEPROM schreiben und das Programm "weiss" dann auch das es dort ist? Wisst ihr ungefähr was ich meine? Nochmal kurz erklärt : Ich möchte halt das mein Array anstatt im RAM im EEPROM steht und ich es genauso nutzen kann, als würde es im RAM sein. Gruß, Marian