Hallo,
in den 51er Anwendungsbuch, das eine Zeit lang hier verschenkt wurde,
steht dazu was drin. Du brauchst dazu ein serielles I2C EEPROM in der
gewünschten Größe. Im Prinzip läuft der Zugriff etwa so ab:
Startcondition;
writeByte(0b01010010); // schreibt auf Geräteadresse 1
writeByte(AdressHigh); // schreibt ersten Teil der Daten-Adresse
writeByte(AdressLow); // schreibt zweiten Teil der Daten-Adresse
jetzt Fallunterscheidung:
Fall 1 - wir schreiben Daten ab der vorher gesendete Daten-Adresse in
den Speicher:
writeByte(Datenbyte);
writeByte(nächstesDatenbyte);
usw...
Stopcondition;
Fall 2 - wir lesen Daten ab der vorher gesendeten Daten-Adresse aus dem
Speicher:
writeByte(0b01010011); // Zielgerät auf Lesebetrieb stellen
Daten1 = readByte();
Daten2 = readByte();
usw...
readByte(noAck);
Stopcondition;
In etwa so läuft de Kommunikation ab. Wie man das in Assember auf deiner
CPU umsetzt, so dass der Hardware-I2C verwendet wird, weiß ich leider
nicht.
Grüße,
Peter