使用处理存储从串行连接读入的 Arduino 数据



我正在尝试使用处理通过(伪)串行连接从Arduino读取100个传感器数据条目。我正在使用的处理草图如下:

// import the serial library for Processing
import processing.serial.*;
// define a new port object
Serial port;
PrintWriter outputFile;
int i = 0;
// setup a port 
void setup()
{
  outputFile = createWriter("data.txt"); 
  port = new Serial(this, "COM3", 9600);
  port.bufferUntil('n');
}
void draw()
{
  delay(100); //must be the same delay as used in the arduino sketch
 // create a string to store the read-in values
 String serialBuffer = port.readString();
if(serialBuffer != null)
{
  i++;
  outputFile.println(serialBuffer);
  outputFile.flush();
}
  if(i==99)
  {
    outputFile.close();
    exit();
  }
}

不幸的是,我通常在我的数据.txt文件中存储的条目少于 100 个,并且其中一些条目(大约 3-5 个)在其中显示换行符。我做错了什么?Arduino IDE的串行监视器未打开!

在您的setup()函数中,我相信您输入了错误的换行符:

port.bufferUntil('n');

你是说'n'吗?现在你正在缓冲,直到出现"n",这似乎并不明显。似乎许多教程都传递给它一个值为 10 的 int,这是 ASCII 中的换行符。

最新更新