1

我最近才开始使用Arduino. 我只是有一个快速的问题,我尝试寻找答案,但已经失败了好几天。基本上我想问的是是否有办法从串行端口读取整行。就像下图中突出显示的行。

在此处输入图像描述

我想要做的是使用 aBluesmirf Silver Rn-42在该区域搜索蓝牙设备并在找到匹配地址时触发信号。我只是不知道如何阅读串行端口上已经存在的消息。

4

2 回答 2

2

利用.readString()

示例代码:

String myString;

void setup()
{
  Serial.begin(9600);
}
void loop() 
{  
  while (Serial.available()) 
  {
    myString = Serial.readString();
    //do stuff with the string
  }
}
于 2015-06-22T17:50:10.723 回答
0

如果您想从 Arduino 端读取串行端口中已经存在的内容,那么您需要重新考虑您的代码。如果您以正确的方式使其可用,您在代码中生成的要打印到串行监视器的任何内容都将在您的程序中准备好访问。您提供的示例字符串只是一个字符数组,您可以将其存储在数组内的元素中,以便在需要时随时访问它。

提示:

  • 永远不要从串行监视器回读,它真的很慢 -.-
  • 使您需要的所有资源在您需要时可访问并在内存中可用,以节省麻烦和处理能力。
  • 永远不要两次犯同样的错误。

但是,如果您想COM在 Windows 中从 Arduino 连接的端口读取数据,那么您需要使用此处找到的 Libusb 库:http://www.libusb.org/对于 C。任何其他语言都将依赖于库或导入。

于 2015-06-23T07:36:25.523 回答