Ich habe einen grundlegenden Test durchgeführt, bei dem ein einzelner int
Wert von Processing über die Processing Serial-Bibliothek an Arduino gesendet wurde, und alles ist in Ordnung. Ich möchte mehrere Int-Werte senden, bin mir aber nicht ganz sicher, wie das am besten geht.
Gemäß der Dokumentation Serial.write
schreibt bytes, chars, ints, bytes[], Strings auf die serielle Schnittstelle
Eine Möglichkeit wäre also, eine Zeichenfolge zu senden, die ich aufteilen und die Werte abrufen kann:
arduino.write(intValue1+","+intValue2);
aber ich bin mir nicht sicher, wie ich die Datenkonvertierung lesen würde, wenn ich sie in Arduino erhalte.
Eine andere Sache, die mir in den Sinn kommt, ist die Verwendung von a, byte[]
da ich mehrere Werte sende, aber ich habe nicht viel mit Bytes gearbeitet, daher wäre jeder Ratschlag, wie zwei in a byte[]
und zurück gepackt/entpackt werden, sehr praktisch.
Danke!
Erstellen Sie ein Byte-Array mit Ihren Daten. Denken Sie daran, dass jedes Byte nur bis zu 255 gehen kann. Wenn Ihr int also größer ist, müssen Sie mehrere Bytes pro int verwenden.
Dann auf dem Arduino
while (Serial.available() > 0) {
Serial.read() //now do something with this byte
}
Dies wird eine Schleife durchlaufen, bis keine Bytes mehr zu lesen sind, und jedes Mal wird ein Byte gelesen.
Georg Profenza
while (Serial.available() >= 4) { for(int i = 0 ; i < 4; i++) data[i] = Serial.read();//etc. }