Wie Funktionen für EEPROM zu händeln?

Gast #3624115
Lesenswert?

Ich habe eine Frage wie Funktionen eines EEPROMs zu handeln sind.

Ich möchte gerne folgende Funktionen nutzen (WORD sind 16-Bit):
1
WORD EEPROMReadWord(WORD address)
2
void EEPROMWriteWord(WORD data, WORD address)

Ich würde gerne 2 Variabeln vom Typ WORD (natürlich wieder 16-Bit) 
speichern und später wieder auslesen. Ich weiss nicht genau wie ich die 
beiden Funktionen aufrufen muss, damit Sie wie gewünscht funktionieren. 
DIe Funktionen stammen aus einer Std. Lib von einem EEPROM. Ich habe es 
mir in etwa wie folgt gedacht:
1
WORD x,y;
2
x = 100;
3
y = 310;
4
void writeeeprom(unsigned int eeprom_addr)
5
{
6
EEPROMWriteWord(x, eeprom_addr);
7
eeprom_addr = eeprom_addr +2; // weil 16 Bit, also 2mal 8Bit geschrieben // werden und eine Adresse für 1 Byte ????
8
EEPROMWriteWord(y, eeprom_addr);
9
eeprom_addr = eeprom_addr +2;
10
}
11
void readeeprom(unsigned int eeprom_addr)
12
{
13
WORD a,b;
14
a = EEPROMReadWord(eeprom_addr);
15
eeprom_addr = eeprom_addr +2;
16
b = EEPROMReadWord(eeprom_addr);
17
eeprom_addr = eeprom_addr +2;
18
}
19

20
main.c
21
writeeeprom(0x0000);
22
readeeprom(0x0000);

Die Erhöhung der Adresse um 2 dürfte für das Schreiben eines 16-Bit 
Wortes richtig sein!? Rufe ich die Funktionen EEPROMWriteWOrd bzw. 
EEPROMReadWord richtig auf??? In Beispielen sehe ich oft sowas wie
1
EEPROMWriteWord(&x,(unsigned char*)eeprom_addr);

Korrekturen zu dem konkreten obigen Beispiel würde mir sehr 
weiterhelfen.

Gruss
Gast #3624217
Lesenswert?

In der chinesischen Sprache wird das echt schwierig.
Pascal, C, C++, Basic und Assembler bieten aber Möglichkeiten hierzu.
Eins steht aber fest, der Z80 besitzt kein EEPROM.

Oder anders ausgedrückt: Ein paar konkrete Infos könnten nicht schaden.

In den meisten Fällen hilft auch ein kurzer Blick in die 
Compilerunterlagen. Oft sind genau diese Funktionen eingebaut. Darüber 
hinaus hilft es dem "RTFM"-Kommentar vorzubeugen.

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