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

问题描述:

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

// 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(); 
    } 
} 

不幸的是,我得到存储在平时我的data.txt文件小于100项,有的条目(约3-5)都出现在其中的换行符。我究竟做错了什么? Arduino IDE的串口监视器没有打开!

在你setup()功能,我相信你输入了错误的换行字符:

port.bufferUntil('n'); 

你的意思是'\n'?现在你正在缓冲,直到一个'n'出现,这似乎并不明显。看起来,许多教程都将它传递给int,其值为10,这是ASCII中的换行符。