Forum: Mikrocontroller und Digitale Elektronik I2C Mit atmega16 und DS2745


von MarkusK (Gast)


Angehängte Dateien:

Lesenswert?

Ich muss mit dem Atemga16 über I2C ne Kommunikation mit nem 
Spannungsüberwachungsbaustein DS2745 von Maxim aufbauen. Nach der 
Startbedingung soll die Slaveadresse übertragen werden. Danach soll ein 
Acknowledge empfangen. Danach die Daten an den Baustein an den 
senden....also das übliche Spiel mit dem I2C Bus. Habe aber das Problem 
dass ich keinen Acknowledge empfange. Auf dem Oszi sieht man dass alles 
sauber übertragen wird, also die Starbed. und die Adresse. Als neuntes 
Bit ist die SDA leitung auf null, also sollte das auch ok sein. Aber 
mein Atmel empfängt das Acknowledge irgendwie nicht denn er bleibt bei 
Abfragen ob das ACK da war in der Schleife hängen.
Habe die I2C sequenz mal als Anhang eingestellt.
Während des Durchlaufs der Sequenz wird nacheinander ein anderer wert in 
das Register r23 geladen und beim Verlassen der Sequenz durch error, 
also ACk nicht angekommen am PortA ausgegeben. Da hab ich ne 7segment 
anzeige hängen die mir das zeigt. So hab ich eben rausgefunden dass er 
in der Schleife hängt.

Der Atmega läuft auf 1MHz interner Oszillator. Der BAustein ist auch 
nicht defekt, denn ich habe schon den zweiten ausprobiert. Die I2C 
Leitungen sind nur wenige Millimeter lang.

Ich kann mir also nur einen Fehler im Code Vorstellen

von MarkusK (Gast)


Lesenswert?

Hat denn keiner ne Idee? Stimmt denn wenigstens meine I2C sequenz? oder 
hab ich da was übersehen?

von MarkusK (Gast)


Lesenswert?

Das gibts doch nicht. 10 x den Code runtergeladen aber keiner ist in der 
Lage zu schreiben ob der Code stimmt oder nicht.

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.