Gast
#28003
Hallo, versuche gerade einen DS1621 Temperatursensor mit I2C-Ansteuerung an einem AVR dranzustricken. Soweit eigentlich problemlos, bis auf folgendes: Der Sensor kann hat standardmäßig eine Auflösung von 0,5 Grad, kann aber trickreich auf 0,1 Grad gebracht werden. Dazu werden weitere Register des Bausteins ausgelesen und darüber rechnerisch das Ergebnis auf 0,1 Grad gebracht. Und genau da liegt der Haken: wie bekomme ich eine Formel der Art Temperatur = (Slope - Counter) / Slope If Temp_Read AND (0x08) Temp_Read = 128 - (Temp_Read & 0x7F) Temperatur = Temperatur - 0,25 - Temp_Read ELSE Temperatur = Temperatur + 0,25 - Temp_Read ENDIF mit Slope, Counter und Temp_Read = 8bit-Werte aus Sensorregistern und Temperatur = ? in Assembler (und vor allem Integer) in den AVR getütet, um eine Anzeige z.B. 17,8°C auf einem LCD zu bekommen? Gruß R A L F