Forum: Compiler & IDEs DS1307 Uhr auslesen


von Sebastian (Gast)


Lesenswert?

Hallo,

Ich habe Probleme, den o.g. Baustein auszulesen (Atmega32, AVR Studio, 
Winavr)

Bisher komme ich so weit, dass die Uhr auf ihre Read-Adresse reagiert, 
d.h.
dass ich einen Statuscode von 40h im TWSR stehen habe. Danach wird 
dieser Programmteil ausgeführt:

void i2c_receive (void)
{
while(!(TWCR & (1<<TWINT)));
stunden = TWDR;
}

Darauf bekomme ich ein d2 im Status, was eigentlich gar nicht sein kann.
Würde mich freuen, wenn mir einer weiterhelfen könnte.

M f G
Sebastian

von Sebastian (Gast)


Lesenswert?

Hmm...

void i2c_receive (void)
{
  TWCR = (1<<TWINT)|(1<<TWEN);
  while(!(TWCR & (1<<TWINT)));
}

wenn ich es so schreibe, kriege ich immerhin 58h im Status. D.h. dass 
ein NAK zurückgesendet wurde.. ich möchte aber ein ACK senden. Hat da 
jemand eine Idee?

M f G
Sebastian

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.