Hallo, ich versuche testweise einen Wert in ein Register der RTC via TWI(I2C) zu schreiben. Dabei sende ich START (erfolgreich) und danach die Slave-Adresse für den Schreibzugriff (lt. Datenblatt 0xD0). Nun sollte der DS1337 mittels ACK dieses bestätigen. Ich bekomme aber immer nur ein NACK ! Nun weiß ich nicht woran es liegen könnte, möglich wären jedoch: - Chip ist tot - Leitung (10cm) zu lang ??? - Pullups (SDA,SCL) falsch (15k Ohm) - INTA und SQW ??? (sind bei mir floating, wie im Datenblatt angegeben) - Quartz (bei mir nicht angeschlossen) Muss ich einen Quartz anschließen um Werte zu lesen oder zu schreiben? Ist die Einhaltung der PullUp-Werte (laut Formel R=tr/Cb) sehr wichtig, oder reichen meine 15k Ohm aus? Wie muss ich SDA,SCL am µC (hier ATMEGA32) konfigurieren Ein- oder Ausgang? Vielen Dank für jede Hilfe!
Hallo, meine Meinung nach muss der Crystal 32...khz dran sein! HG Ralph
Ralph W. schrieb: > Hallo, > meine Meinung nach muss der Crystal 32...khz dran sein! > HG Ralph Funktioniert trotzdem nicht.
Gast
#2659158
Marvin C. schrieb: > - Pullups (SDA,SCL) falsch (15k Ohm) 15k kann schon sehr viel sein. Es schadet nicht, mal weniger zu nehmen. http://www.nxp.com/documents/user_manual/UM10204.pdf (dort Kapitel 7) Ansonsten Geschwindigkeit drosseln, bis es funktioniert. Schaltplan und Code wären auch nicht schlecht.....
Karl schrieb: > Marvin C. schrieb: >> - Pullups (SDA,SCL) falsch (15k Ohm) > > 15k kann schon sehr viel sein. Es schadet nicht, mal weniger zu nehmen. > > http://www.nxp.com/documents/user_manual/UM10204.pdf > > (dort Kapitel 7) > > Ansonsten Geschwindigkeit drosseln, bis es funktioniert. > > Schaltplan und Code wären auch nicht schlecht..... Es funktioniert auch bei 8kHz und 7k PullUps nicht.
Gast
#2659203
Eine Möglichkeit ist aber auch, dass deine I2c-Adr nicht korrekt ist.
Problem endlich gelöst! Es lag an der unlogischen PORT-Anordnung am RN-Control Board. Alle PORTS sind von links mit PIN0 beginnend rausgeführt, außer PORTC mit SDA und SCL.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.