Ich habe folgende integer array [1,2,3,4,5,6,7,8,9]brauchen Hilfe int array von C# senden zu Arduino
Ich brauche es zu senden UNO Arduino .
Ich habe versucht, es als Array von Byte zu senden, aber es funktioniert nicht.
C# -Code:
using System.IO.Ports;
private void Form1_Load(object sender, EventArgs e)
{serialPort1.Open();}
byte[] OUT = { 1,2,3,4,5,6,7,8,9 };
serialPort1.Write(OUT, 0, 12);
Arduino Code
void setup() {
Serial.begin(9600);
for (byte aPin = start; aPin <= 13 ; aPin++) {
pinMode(aPin, OUTPUT);}
for (byte apin = start; apin <= 13 ; apin++) {
digitalWrite(apin,HIGH);}
}
void loop(){
//Serial communication step
//Serial.write("6564456464646");
if(Serial.available()){
for(char j=0;j<Serial.available();j++)
{input[j]=Serial.read();}
Können Sie Ihre Codebeispiele posten? –
Woher weiß der Arduino, wann das Ende der Daten erreicht ist? Eine Verbindung, bei der es sich um einen Dampf handelt, bleibt nach dem Senden der Nachricht geöffnet, so dass der Arduino in der for-Schleife auf weitere Daten wartet. Wenn Sie Binärdaten (Bytes) senden, müssen Sie am Anfang der Nachricht eine Bytezahl senden, die angibt, wie viele Byte übertragen werden. Sie können immer die gleiche Anzahl an Bytes senden oder ein abschließendes Zeichen am Ende der Daten einfügen. – jdweng
Ich reiche meinen C# Code unten ein. damit Sie es klarer sehen können. – Memmss