Gast
#1225838
Hallo zusammen, bin gerade dabei einige DS18S20 auszuwerten. Da ich keine 16bit Multiplikation verwenden wollte, hab ich versuch das ganze auf 16bit Substrakion zu vereinfachen. Nach dem ich die Formel aus dem Datenblatt für eine Temperatur (z.B. 25°C) und den möglichen Count_Remains angewendet habe, hab ich festgestellt dass das ohne weiteres möglich sein sollte. Count_Remain = 0x01 -> Nachkommastellen = 6875 Count_Remain = 0x02 -> Nachkommastellen = 6250 Count_Remain = 0x03 -> Nachkommastellen = 5625 . . . Count_Remain = 0x0D -> Nachkommastellen = 0000 . . . Count_Remain = 0x10 -> Nachkommastellen = 7500 Der Unterschied ist jeweils 0,0625, also 1/16°C. Wichtig ist, dass man ab einem Count_Reamin von 0x0E, eins vom Temp_LSB abziehen muss. Sind meine Überlegungen und Berechnungen bis hier her richtig? Wenn dem so ist kann man einfach eine Schleife programmieren die eine 16bit Substraktion ausführt bis der Schleifenzähler Count_Remain entspricht. Sonderfälle ab Count_Remain = 0x0E beachten (also von Temp_Read eins abziehen). Ist das auch richtig? Vielen Dank im Voraus. Mathias