Hallo
vielen dank est mal für deinen ausführlichen Bericht. Ich beschäftige mich ehr mit SPS Programiereung.
Ich versuche grande Werte von einem Arduino in eine SPS zu übertragen. Hierzu muss ich ein float in Byte wandeln und drehen.
Habe es jetzt mit deiner Hilfe so gelöst.
Ich hoffe das ist so korrekt ?
#include <SPI.h>
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
}
void loop() {
// Float
float Zahl1=123.45;
Serial.println(Zahl1 );
byte*b = S7Float_to_Byte(Zahl1);
Serial.print(b[0]);
Serial.print(b[1]);
Serial.print(b[2]);
Serial.println(b[3]);
delay(2000);
}
// Funktion Float in Byte, Byte drehen
byte* S7Float_to_Byte(const float inFloat )
{
byte bigEndian[4];
byte* bytes = (byte*)&inFloat;
bigEndian[0] = bytes[3];
bigEndian[1] = bytes[2];
bigEndian[2] = bytes[1];
bigEndian[3] = bytes[0];
return bigEndian;
}