ich habe Temperaturrohdaten von einem KNX Bus im Format EIS5 (2 Byte Floatpoint) und möchte die natürlich in eine Singel umwandeln.
z.B. $14 $23 sind -8.6°C oder $19 $1D sind um die 22°C
wie mache ich aus den Byte eine verwertbare Temperatur ?
Für EIS9 mit 4 Byte habe ich es hinbekommen
Code: Alles auswählen
//EIS9 (4 Byte FP) nach SingleString konvertieren ==============================
function Eis9ToFloat(B0,B1,B2,B3: string):string;
var
Data: array[0..3] of byte;
Sval: Single absolute Data;
begin
Data[3]:= Hex2Dec(B0);
Data[2]:= Hex2Dec(B1);
Data[1]:= Hex2Dec(B2);
Data[0]:= Hex2Dec(B3);
Result:= FloatToStr(Sval);
end;
Gruß Frank