-
-
Neuer Benutzer
Öfters hier
EEPROM-Chipkarte via I2C auslesen Probleme!
Hallo!
Wenn ich via I2C eine Chipkarte auslese und das Ganze 2x hintereinander, dann habe ich 2 völlig unterschiedliche Werte (v1_EEPROM ist dann nicht gleich v2_EEPROM), obwohl ich 2 x die gleiche Adresse angebe!
Frage: Kann man ein EEPROM (24C02) so schnell hintereinander nicht auslesen, od. was läuft hier falsch, bzw. wie wäre es richtig?
Verwende das Source-File von: Peter Fleury <pfleury@gmx.ch> http://jump.to/fleury und bin im AVR-Studio 4.14 zu Hause!
Danke Mad
Code:
…….
// 1. Mal EEPROM-Chipk. lesen und speichern in v1_EEPROM
i2c_write(5); // write address = 5
i2c_rep_start(Tuer1_24C02_Chipkarte+I2C_READ); // set device address and read mode
v1_EEPROM = i2c_readNak(); // read one byte from EEPROM
_delay_us(30); // Zeit zum /Schreiben/Lesen des EEPROM's/Bus
i2c_stop();
// nochmal EEPROM-Chipkarte lesen und Wert speichern in v2_EEPROM
i2c_write(5); // write address = 5
i2c_rep_start(Tuer1_24C02_Chipkarte+I2C_READ); // set device address and read mode
v2_EEPROM = i2c_readNak(); // read one byte from EEPROM
_delay_us(30); // Zeit zum /Schreiben/Lesen des EEPROM's/Bus
i2c_stop();
……….
-
Erfahrener Benutzer
Robotik Einstein
Es wundert mich, dass das so überhaupt funktioniert, da nirgendwo ein "normaler" Start vorkommt.
Dieses Delay würd ich auch erst nach dem Stop machen. Also Bus freigeben und dann erst warten.
-
Erfahrener Benutzer
Roboter-Spezialist
Sorry fürs Offtopic: darf ich mal fragen, wo du die Halterung für diese Chipkarten her hast?
-
Neuer Benutzer
Öfters hier
Chipkarten gibt's bei
http://at.rs-online.com
gruß mad
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen