我试图通过比较从android到Arduino的输入文本来分离四个功能。为此我写了一小段代码如下:
//Input string
String inStr = "";
char inChar;
int x = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(inStr == "st") { Serial.print(inStr); inStr = ""; x = 0; }
if(inStr == "sp") { Serial.print(inStr); inStr = ""; x = 0; }
if(inStr == "cc") { Serial.print(inStr); inStr = ""; x = 0; }
if(inStr == "cb") { Serial.print(inStr); inStr = ""; x = 0; }
}
void serialEvent() {
while(Serial.available()) {
if(x < 2) {
inChar = Serial.read();
inStr += inChar;
}
Serial.print(inStr); //Just to debug
}
它为我从android应用程序发送“sp”,“cc”,“cb”的按钮提供了很好的输入。但是发送“st”的按钮也从android发送时间,即它发送的总字符串是“st22:00:11”(例如,以22:00:11为时间)。这个字符串是我试图打破“st”,但我的代码无法。
答案 0 :(得分:0)
假设代码在输入字符串的开头只是2个字母,您可以对输入字符串进行子串:
String extractedStr = inStr.substring(0,2); //This is the first 2 letters