Разбор команды из строки COM-порта
- Войдите на сайт для отправки комментариев
Чт, 03/03/2016 - 17:16
У меня формат команды такой: CV:1234
Короче, буквы, двоеточие, цифры. Я их ловлю в сериал порте.
Есть скрипт простейший, суть которого: если первые буквы равны тому что мне нужно, то отсечь их, а остальные цифры перевести в int и далее работать с ними.
Код (C++):
void setup() {
Serial.begin(9600);
}
void loop() {
String input = "";
while (Serial.available())
{
input = input + (char)(Serial.read());
Serial.print(input);
}
if (input.startsWith("CV:")) {
String Voltage = input.substring(2);
Voltage.trim();
int Vol = Voltage.toInt();
Serial.print(Vol);
}
}
Почему не работает, можете подсказать?
input.substring(2)
а строка "CV:4753" второй символ какой?
input.substring(3) - как минимум, чтобы за : читала.