c#与arduino之间的串行通信
我正试图向我的arduino MEGA的Serial1发送一些字节。我正在发送这个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(
字节[]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");
}
}