Hallo,
ich nutzte IDE 1.8.5 und Wire.h und tausche über I2C Daten mit einem Python-Programm auf einem Raspi aus.
Byte und String sind kein Problem, Integer und Long sind abhängig vom Wert.
Ich möchte z.B. Werte einer long Variabe übertragen. Vom Raspi zum Arduino kommt alles korrekt an.
Vom Arduino zum Raspi nur dann, wenn alle 4 Byte ungleich 0x00 sind, sonst werden nur die Bytes davor übertragen.
Ich denke, dass liegt an der Write-Anweisung. Gibt es Alternativen oder kann ich die Daten anders aufbereiten um das zu umgehen?
Beispiele:Arduino -> Raspi
0x04:03:02:01 0x04:03:02:01 (ok)
0x04:03:02:00 0x04:03:02:FF (falsch)
0x04:03:00:01 0x04:03:FF:FF (falsch)
0x04:00:02:01 0x04:FF:FF:FF (falsch)
0x00:03:02:01 0x00:FF:FF:FF (falsch)
void sendData1(char *c) {Wire.write(c);}