Moin.
Ein AVR schreibt mir auf eine SD-Karte einige Log-Daten; ich klatsch also einfach die
Struct mit den jeweiligen Werten Byteweise auf die Karte.
Darunter sind auch double-Werte, die ja beim AVR 4 Byte gross sind.
C# verwendet aber 8 Byte für eine double-Variable.
Aus dem von der SD-Karte gelesenen Byte-Array les ich z.B. einen Uint32 so:
Ein 8-Bit-Double entsprechend so:Code:byte[] dArray = new byte[4]; Array.Copy(readBytes, 22, dArray, 0, 4); // 22: Startposition, 0: Zielposition, 4: Länge UInt32 dData = BitConverter.ToUInt32(dArray,0);
Wie kann ich nun die 4-Byte-double vom AVR in ein 8-Byte-double für C# konvertieren?Code:byte[] edArray = new byte[8]; Array.Copy(readBytes, 26, eArray, 0, 8); // 26: Startposition, 0: Zielposition, 8: Länge double eData = BitConverter.ToDouble(eArray,0);
mfG







Zitieren

Lesezeichen