Forum: Mikrocontroller und Digitale Elektronik Serielles EEPROM nur mit 10kHz?


von Daniel (Gast)


Lesenswert?

Hallo,

ich habe einen kleinen I2C-Bus an einem ATMega8. Daran ist unter
anderem ein EEPROM von Atmel (24C02) angeschlossen.
Wenn ich der TWI_master.h (von Atmel) die Geschwindigkeit nun auf
100kHz einstelle funktioniert überhaupt nichts (also die Werte werden
nicht zurückgelesen). Aber bei 10kHz funktioniert es ohne Probleme.
Angeblich unterstützt das EEPROM aber 400kHz...

Mach ich irgendwas falsch? Die Kommunikation mit den anderen Slaves
funktioniert einwandfrei. Pullups sind 4k7.

Vielen Dank,

Daniel

ps. hier der Code mit dem ich das EEPROM beschreibe und auslese:

    messageBuf[0]=DevEEPROM+TWIWrite;
    messageBuf[1]=0;//(0xff-RTCRAM);
    messageBuf[2]=0xda;
    TWISend(messageBuf,3);

    messageBuf[0]=DevEEPROM+TWIWrite;
    messageBuf[1]=0;//(0xff-RTCRAM);
    TWISend(messageBuf,2);

    messageBuf[0]=DevEEPROM+TWIRead;
    TWISend(messageBuf,2);

    TWIGet(messageBuf,2);

von Sebastian (Gast)


Lesenswert?

ich denke es geht schon mit 400kHz
nur solltest du dem eprom auch die nötige zeit lassen um den vorherigen
befehl zu bearbeiten.

von Sebastian (Gast)


Lesenswert?

ich denke es geht schon mit 400kHz
nur solltest du dem eprom auch die nötige zeit lassen um den vorherigen
befehl zu bearbeiten.
mach mal ne pause (keine ahnung wie lang... sollte aber im datenblatt
von eprom stehen) zwischen lesen und schreiben. (ich denke daten
schreiben wird länger dauern als lesen)

von Daniel (Gast)


Lesenswert?

Heureka... Damit hat sich diese Frage wohl geklärt.
Danke! Ich habe jetzt nach jedem schreiben eine Pause von 10ms (wie im
Datenblatt steht) und jetzt funktioniert es perfekt!

Grüße,

Daniel

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
Noch kein Account? Hier anmelden.