Hallo, ich versuche den ADS1115 anzusteuern. Im Prinzip spricht er auch mit mir über die 0x48 I2C-Adressse. Zur Initialisierung habe ich Config-Register 0x01 auf 0x8387 programmiert.Dies kommt auch richtig an. Leider liefert er mir im Conversion Register 0x00 nur genau ein Byte statt 2 Bytes ab. Das zweite Byte ist konstant FF (siehe Screenshot). Das 1. Byte ändert sich auch mit der Eingangsspannung auf dem 1. Kanal. Ich bin der Meinung ich machs genau wie im Datasheet beschriben, allein der Chip unterschlägt einfach Byte 2. Zur Sicherheit schaue ich auch direkt auf die echten I2C-Signale statt auf den C-Code des Controllers(siehe Screenshot). Vielleicht erkennt jemand meinen Fehler ?!?
Nach dem ersten Byte kommt beim Lesen ja auch ein NACK. Danach liest du Ruhepegel vom Bus... Ändere deine Lesefunktion! 2x lesen mit ACK, dann am Ende lesen mit NACK. Schöner I2C-Analysator. Was benutzt du da?
:
Bearbeitet durch User
Bernhard S. schrieb: > Ändere deine Lesefunktion! 2x lesen mit ACK aber das ACK kommt doch vom Slave, das kann ich doch garnicht ändern...Wenn der Slave kein ACK sendet ?!?
Wolfram L. schrieb: > aber das ACK kommt doch vom Slave, das kann ich doch garnicht > ändern...Wenn der Slave kein ACK sendet ?!? Nein: beim Lesen nach dem ersten Byte muss es vom Master kommen, damit der Slave weiß, dass noch weiter gelesen werden soll.
Achim S. schrieb: > beim Lesen nach dem ersten Byte muss es vom Master kommen, damit > der Slave weiß, dass noch weiter gelesen werden soll. aarrrrg , klar - Du hattest völlig recht. Tut jetzt einwandfrei!! Vielen Dank Achim
gern geschehen. Aber Bernhard hatte ja den Fehler entdeckt, nicht ich. Ich hab nur noch naträglich meinen Senf dazu gegeben :-)
Achim S. schrieb: > Bernhard hatte ja den Fehler entdeckt Oh sorry - hatte mich vertan DANKE Bernhard!!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.