Hallo Zusammen, ich habe gerade einen AM2315 bei mir. Ich bin etwas unsicher wegen der I2C Adresse. Im Datenblatt stehen die 0xB8 und die und 0xB9. Wenn man sich im Netz nach Beispielen umschaut, findet man dort die 0x05C. Bei mir liefert der Sensor auf allen Adressen nur 0xFF. Diese Werte sehe ich auch auf dem Oszi. Kennst jemand diesen Effekt? Ist das ggf. nur ein Timing Problem zwischen Wackup und dem Lesebefehl? VG Ingo
Manche geben die I²C Adresse als 7-Bit Adresse an und andere als 8-Bit Adresse mit dem LSB auf R/W Funktion. So wird die Angabe 0xB8 und 0xB9 letzteres bedeuten - also 0xB8 zum Schreiben und 0xB9 zum Lesen. Schiebt man diese Adresse um 1 bit nach rechts: 0b10111001 - 0xB9 - Leseadresse 8-Bit dann wird daraus 0b01011100 , und das ist dann 0x5C. Das R/W Bit wird dann von der Library erzeugt. Welche Syntax deine I²C Lib benutzt, teste man am besten durch ein bestätigtes Adressbyte, bei dem das ACK Bit vom Slave mit low beantwortet wird. Wenn der Slave kein ACK liefert, fühlte er sich nicht angesprochen. Der AM2315 ist insofern eigenartig, weil er eine Wake-Up erstmal mit NACK beantwortet, also so tut, als wäre er nicht da. Fragt man ihn dann max. 3ms später nochmal ab, sollte er mit ACK antworten und dann bereit zum Auslesen der Register sein. Ganz hinten im schrecklichen Datenblatt ist eine Flowchart, wie mans machen soll.
Danke, sorry jetzt dämmert es. Ich habe den Wald vor lauter Bäumen nicht gesehen. Ingo
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.