Подскажите, как изменить этот код под мои условия: в serial раз в x секунд приходит строка из 4-х символов (без скрытого символа конца строки), надо по значению 3-го символа присвоить переменной n определенное число. Первый символ - это "r" или "k", второй всегда "0", четывертый всегда "t". Я из примеров составил такой код, и он даже работает, но он основан на анализе символа конца строки, а мне надо чтобы этот разбор не учитывал конечный символ "\n" - его может и не быть, при этом ничего не работает. Код (Text): while (Serial.available()) { char x = Serial.read(); if (x != '\n') serialinput += x; else { if (serialinput.substring(0,4) == "r01t") n= 1; if (serialinput.substring(0,4) == "r02t") n= 2; if (serialinput.substring(0,4) == "k03t") n= 3; if (serialinput.substring(0,4) == "k04t") n= 4; serialinput = ""; // очищаем буфер } }
Код (Text): void loop() { if (Serial.available()) { char x = Serial.read(); if(x != '\n')// чтобы пропускать \n serialinput += x; if (x == 't')// накопилась очередная строка, можно разбирать { // тут разбор строки serialinput = ""; // очищаем буфер } } }