Forum: Mikrocontroller und Digitale Elektronik Kein Acknowledge 24C02


von Alex (Gast)


Lesenswert?

Hallo,

Ich bin gerade bei den ersten Versuchen mit dem I2C-Bus. Leider
funktioniert das ganze nicht so recht. Nachdem ich ein Start-Signal und
das Device-Select byte (1010 0000) sende bekomme einfach kein
Acknowledge vom EEPROM zurück. Ich hab mir folgende Funktion zum
einlesen des Ack. geschrieben:

getAck()
{
  SDA = 1;
  delay(1); //10us warten
  SCL = 1; delay(1);
  SCL = 0; delay(1); //1 x Clock

  if(!SDA)
    anzAck++;
}

Ich sende dieses anzAck über die serielle Schnittstelle und bekomme
immer 0 heraus, also kein Ack!
Könnte mir vielleicht irgendjemand einen Tipp geben, was ich da falsch
mache? Ich verwende das ST24C02 mit Pullup-Wdst. von 1k.

Herzlichen Dank im Voraus,
Alex

von Hubert.G (Gast)


Lesenswert?

Device Adresse eindeutig auf 0 ?
Pullup laut Datenblatt nicht kleiner als 2k2
Acknowledge ist eine 0

von Klaus2m5 (Gast)


Lesenswert?

Hi Alex,

soweit mir bekannt muß für gültige Daten (und Ack) SCL high sein???
Nach SCL = 0 ist Dein Ack schon wieder weg.

Gruß, Klaus

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.