Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#与arduino之间的串行通信_C#_Arduino - Fatal编程技术网

c#与arduino之间的串行通信

c#与arduino之间的串行通信,c#,arduino,C#,Arduino,我正试图向我的arduino MEGA的Serial1发送一些字节。我正在发送这个字节[]writebuffer={1,2,3,4}但是arduino中串行的输出是127 191 247 0 我使用的是DB9,我已经将GND连接到GND,Tx连接到Rx1,Rx连接到Tx1(从DB9连接到arduino) 这是我的C#代码: 这是arduino代码: void setup() { Serial.begin(115200); Serial1.begin(9600); } void loop(

我正试图向我的arduino MEGA的Serial1发送一些字节。我正在发送这个
字节[]writebuffer={1,2,3,4}
但是arduino中串行的输出是
127 191 247 0

我使用的是DB9,我已经将GND连接到GND,Tx连接到Rx1,Rx连接到Tx1(从DB9连接到arduino)

这是我的C#代码:

这是arduino代码:

void setup()
{
  Serial.begin(115200);
  Serial1.begin(9600);
}
void loop()
{
  if(Serial1.available())
  {
     while(Serial1.available())
     {
        Serial.print((byte)Serial1.read());
     }
     Serial.println();
     Serial1.println("recibi datos");
  }
} 

我建议您在打开之前关闭串行端口,并检查它是否打开


此外,还应使用基于max232或类似标准的ttl usart转换器,或基于ft232或ch340的usb到串行转换器。这是因为arduino具有5V ttl串行端口,而桌面具有12V端口。

由于arduino和PC之间的电压不同,无法直接将PC串行连接到arduino。我现在正在使用FTDI,它工作得很好。

代码看起来不错。。。看起来是硬件问题。
void setup()
{
  Serial.begin(115200);
  Serial1.begin(9600);
}
void loop()
{
  if(Serial1.available())
  {
     while(Serial1.available())
     {
        Serial.print((byte)Serial1.read());
     }
     Serial.println();
     Serial1.println("recibi datos");
  }
}