Timer 自动运行和停止处理代码
我想做的就是这样;我想运行下面的处理代码,在2分钟后,它应该自动停止,并使自己再次运行,在2分钟后再次停止。我的意思是我不想手动点击run按钮来运行代码 我是一个处理方面的初学者,如果你能回答我迫切需要这个问题,我将非常高兴Timer 自动运行和停止处理代码,timer,arduino,processing,Timer,Arduino,Processing,我想做的就是这样;我想运行下面的处理代码,在2分钟后,它应该自动停止,并使自己再次运行,在2分钟后再次停止。我的意思是我不想手动点击run按钮来运行代码 我是一个处理方面的初学者,如果你能回答我迫切需要这个问题,我将非常高兴 import processing.serial.*; // The serial port: Serial myPort; String dataReading = ""; String [] dataOutput = {}; void setup() { si
import processing.serial.*;
// The serial port:
Serial myPort;
String dataReading = "";
String [] dataOutput = {};
void setup() {
size(500,500);
// Open the port you are using at the rate you want:
myPort = new Serial(this, Serial.list()[7], 9600);
//in my case,the Serial port the Arduino is connected to is 9th on the serial list, hence the [8]
//to get access to the serial list you can use >> println(Serial.list());
myPort.bufferUntil('\n');
}
void draw() {
//...
}
void serialEvent(Serial myPort) {
dataReading = myPort.readString();
if(dataReading!=null){
dataOutput = append(dataOutput, dataReading);
saveData();
}
}
void saveData() {
println("saving to txt file...");
saveStrings("data/data.txt", dataOutput);
}
为什么要每2分钟重新启动一次代码?我不明白为什么它会改变行为。因为我想将数据保存到文本文档中,并且我认为它会在代码停止后保存数据。所以我想自动完成。而且,实际上,我想把这些值替换成新的读数。但在这段代码中,它将新的附加到dataOutput数组。你知道如何用数据读取替换数据输出吗?如果我将dataOutput更改为String而不是array,是否有效?否,只要调用
saveStrings()
,文件就会被写入。是,将dataOutput更改为字符串
并替换dataOutput=append(dataOutput,dataReading)代码>带有dataOutput=dataReading代码>应该做你想做的。你的保存是对的。我不必停止保存代码。但是dataOutput=dataReading不起作用,因为saveData方法中的saveStrings只接受字符串数组,我想:(你是对的。尝试将字符串包装到数组中,然后:saveStrings(“data/data.txt”,newstring[]{dataOutput});