从Arduino Lonardo的Serial1读取更好/更快的方式?

时间:2016-03-16 14:54:40

标签: arduino arduino-ide

我很想知道更快或更好的方式来读取我发送给我的一个串行接口(Lonardo平台中的Serial1)的命令的回复。到目前为止,我一直在使用,有没有其他更好的方法来读取串行1的输出?

提前致谢,

问候

Serial1.print(dataToBeTx);
Serial.print(text + dataToBeTx);
delay(4000);
while (Serial1.available()) Serial.write(Serial1.read());

1 个答案:

答案 0 :(得分:0)

您可以通过几种不同的方式处理此问题,这两种方法都可以避免长delay(XXXX)个语句。根据我的经验,这两个通常是最常见的,它们都允许您在收到预期数据时继续执行代码,而不是延迟。

  • 使用Arduino的SerialEvent API,在新的串行数据就绪时调用。然后,您可以确定如何处理接收的数据。
  • 使用Serial1.readBytes调用,允许您指定要读取的设定字节数,并与Serial1.setTimeout结合使用,允许您设置等待这些字节的最长时间,以防串行数据没收到。