0

我无法在 Intel Galileo Gen 2 上进行串行通信。我正在使用分配给引脚 0 和 1Serial1的端口/dev/ttyS0。出于测试目的,我在该串行端口上创建了环回(将 RX 和 TX 连接在一起)。不幸的是,似乎没有任何效果。经过几次测试,我的板似乎可以接收数据,但不能发送任何数据。

void setup() {
  Serial.begin(9600);
  Serial1.begin(19200);
  Serial.println("Ready");
}

void loop() {
  while(Serial1.available() > 0) {
    Serial.print(Serial1.read());
    Serial.print(' ');
  }

  uint8_t buf[3] = {0xC0, 0xFF, 0xEE};
  Serial1.write(buf, 3);
  delay(2000);
}

我在 Arduino Yún 上运行相同配置的相同草图,效果很好。问题可能出在哪里?谢谢。

4

1 回答 1

0

对于这个特定的 Galileo 板,串行对象的波特率始终为 115200 波特,无论您给出什么参数。由于您将 Serial1 连接到 Serial,因此可能只是由于波特率不同而导致的同步错误。您是否尝试将其更改Serial1.begin(19200);为此Serial1.begin(115200);

于 2015-12-08T23:06:20.653 回答