Moin moin, ich habe hier einen 24C64N EEPROM am ATMega16 hängen. Programmiert mit AVRGCC. Der I2C-Bus ist "handgemacht", ebenso die Routinen. Also nicht der interne I2C-Bus des ATMega. Soweit sogut. Jetzt schicke ich an das EEPROM ein "0xA0" und bekomme ein ACK. Dann versuche ich es mit der Adresse (z.B. 1234). Einfach mal "0x04" -> ACK und dann "0xD2" -> ACK. Dann will ich ein "A" auf diese Adresse schreiben. Also "0x41" -> NACK! Wieso dieses? Der WC-Pin des EEPROMs ist nicht belegt. Aber auch High oder Low bringt nix. Noch merkwürdiger wird es mit der Adresse "123". Dann gibts: "0xA0"->ACK, "0x00"->ACK, "0x7B"->NACK, "0x41"->NACK ;=( Hat jemand ne Idee, woran das liegen könnte? Am gleichen Bus hängt noch ein weiteres I2C-IC, welches Problemlos läuft. Mfg Jens
Fangen wir mal bei den Basics an. Bustakt ok ? Beim Schreiben an die "write cycle time" (ca. 5ms) gedacht ? Protokoll auch wirklich eingehalten ? >Der WC-Pin des EEPROMs ist nicht belegt. Aber auch High oder Low >bringt nix. WC ? du meinst den WP (Write Protect) Pin des EEProms. Ja wenn der Schreibschutz an ist wirst du kein Glück beim Schreiben haben. Datenblatt hab ich nochmal angehangen.
Moin moin, so, ich haber mal den SMD 24C64 rausgeschmissen und einen 24C32 im DIL-Gehäuse aus der Bastelkiste drangehängt. Damit läuft jetzt alles so, wie es soll ;=) Werde nächste Woche mal einen neuen SMD 24C64 bestellen... @Rather: Datenblatt habe ich (und auch gelesen!). Und ich meine wirklich WC (Mit Strich drüber, also "nicht") = Write Control. Mfg Jens
Yo,anderer Hersteller andere Bezeichnung gleiche Funktion. gg Jedenfalls war der alte Chip wohl im Eimer. Thema erledigt
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.