Gast
#3350415
Hallo, letzte Woche wurden uns vier MS5805 Drucksensoren geliefert. Allerdings ist aus den verfügbaren Codebeispielen und Datenblättern nicht direkt ersichtlich, wie man die Daten der Sensoren richtig interpretiert. Gibt es hierfür vielleicht eine Tabelle oder ähnliches aus der man schließen kann, welcher Wert in welchem Register des Sensors gespeichert wird? Laut Datenblatt sollten ab 0xA0 sechs Kalibrationswerte gespeichert sein, allerdings stehen dort laut i2cdump sieben Werte. Auch ändert sich der an 0x00 (ADC Read) auch nur gering und zu nicht nachvollziehbaren Größen. Das Codebeispiel (http://www.amsys.de/sheets/amsys.de.an520_e.pdf) kann ich leider auf Grund eines fehlenden passenden Boards nicht nachvollziehen (avr/io.h nicht vorhanden). Hier noch die Ausgabe eines i2cdump auf den Sensor vom angeschlossenen Board aus: root@gnublin:~# i2cdump 1 0x76 No size specified (using byte-data access) WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-1, address 0x76, mode byte Continue? [Y/n] 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX ..XXXXXXXXXXXXXX 10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX a0: 7d 7d bd bd bc bc 70 70 73 73 75 75 66 66 XX XX }}????ppssuuffXX b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX root@gnublin:~# Momentan gehe ich folgendermaßen in meinem Programm vor: -> die Adresse des Sensors richtig setzen -> ein 0x1E zum Reset senden -> ein 0xA0 senden um den PROM auszulesen mit folgendem receive -> 0x4A und 0x5A senden um den Convert auszulösen -> 0x00 für den ADC read senden -> ein receive auslösen um die Daten zu empfangen Gibt es vielleicht ein Minimalbeispiel, das kurz zeigt, wie der Sensor genau angesprochen werden muss um sinnvolle Daten zu erhalten beziehungsweise diese zu interpretieren? Danke schonmal für eure Mühe!