Danke,
also wenn ich es es richtig verstanden habe muss ich eine
"Sequence-Read" durch führen, was wenn ich es richtig verstanden hat,
dass ich zuerst einen "dummy Write" durch führen muss und dann ein Start
(um den "international Counter" zu setzten) gefolgt von einem "Ack Read"
für das MSB und einem "Nak Read" für das LSB.
Ist das richtig so?
1 | i2c_start_wait(0xA0+I2C_WRITE); // EEPROM Adresse
|
2 |
|
3 | i2c_write(0x10); // Adresse erstes Byte
|
4 | i2c_rep_start(0xA1+I2C_READ);
|
5 | C1 = i2c_readAck();
|
6 | C1 = (C1<<8 ) + i2c_readNak(); // read one byte from EEPROM
|
7 | i2c_stop();
|
Ich denke das sollte jetzt stimmen, oder?
Wobei evtl. kann mir jemand noch kurz helfen:
In meinem Datenblatt ist angegeben, dass die Adresse des EEPROM für das
Lesen 0xA1 und Schreiben 0xA0 ist, sollte doch trotzdem (ist ja beachtet
oben) so stimmen, oder?
MFG
PS: Bei dem Daten des EEPROM handelt es sich um Parameter eines
Bauteiles, die vorher ausgelesen müssen um später mit den ADC Werten des
Bauteils verrechnet zu werden.