我正在研究一些在初始化时自动识别Arduino的代码。 Arduino不断发送“ I”,直到收到表示已被识别的“ I”。尽管我的“ inputString”在调试器中始终显示为填充有“ I”,但除非我在调试器中非常缓慢地逐步执行代码,否则input.equals(“ I”)始终返回false。有什么想法吗?
for(int i = 0; i < ports; i++)
{
delay(2000);
myPort = new Serial(this, Serial.list()[i], 9600);
delay(2000);
//tempPort.write("I");
//delay(100);
myPort.bufferUntil('\n');
if (inputString != null)
{
//input = myPort.readStringUntil('\n');
input = inputString;
//input = tempPort.readChar();
println("input:" + inputString);
input = trim(inputString);
if(input.equals("I"))
{
//delay(1000);
myPort.write("I");
println("Found Arduino");
delay(5000);
//myPort.stop();
return i;
}
}
}
return error;