无法将Arduino Mega转换为Arduino Mega串口通信

时间:2018-02-05 12:45:02

标签: arduino serial-port embedded

根据下面的电路,我尝试连接两个 Arduino Mega 进行串行通信。

enter image description here

发件人代码:

char mystr[3] = "Hello"; //String data

void setup() {
  // Begin the Serial at 9600 Baud
  Serial.begin(9600);
}

void loop() {
  Serial.write(mystr, 5); //Write the serial data
  delay(1000);
}

接收者代码:

char mystr[5]; //Initialized variable to store received data

void setup() {
  // Begin the Serial at 9600 Baud
  Serial.begin(9600);
}

void loop() {
  Serial.readBytes(mystr, 5); //Read the serial data and store in var
  delay(1000);
}

Arduino的串行控制台中没有输出。有人可以告诉我可能的原因和解决方案。如果我错过了任何内容,过分强调或不足以强调某个特定点,请在评论中告诉我。

2 个答案:

答案 0 :(得分:1)

如果我理解这一点你有一个Arduino连接到你的电脑和另一个Arduino?

问题是您需要指定要使用的串口: 这很简单,只需键入Serial1Serial2,而不只是Serial。这允许您打开2个串行端口:一个到您的其他Arduino,一个到您的计算机以显示结果!

LINK:https://www.arduino.cc/en/Tutorial/MultiSerialMega

答案 1 :(得分:0)

您需要检查序列中的可用数据:

void loop() {
    if (Serial.available() > 0) {
            // read the incoming byte:
            Serial.readBytes(mystr, 5);
            Serial.print("I received: ");
            Serial.println(mystr, DEC);
    }
}