Сравнение строки из Serialport

Brand2
Лейтенант
Сообщения: 413
Зарегистрирован: 26.02.2018{, 21:27}
Репутация: 41
Откуда: Haifa
Имя: Alex

Сравнение строки из Serialport

#21

Сообщение Brand2 » 20.04.2018{, 23:01}

Огромное спасибо pan,,буду добивать дальше теперь .

Аватара пользователя
Oleg_UA
Сержант
Сообщения: 115
Зарегистрирован: 07.01.2017{, 23:30}
Репутация: 6
Откуда: Днепр
Имя: Олег

Сравнение строки из Serialport

#22

Сообщение Oleg_UA » 22.04.2018{, 04:47}

Ещё вариант.
СпойлерПоказать
#include <SoftwareSerial.h>
SoftwareSerial bt(10, 11); // RX, TX
const int LED =9;

void setup()
{
Serial.begin(9600);
bt.begin(9600);
pinMode(LED, OUTPUT);
}

void loop()
{
while(bt.available())
{
char inChar; // Обявляем переменную для получаемого символа
String inString;// Обявляем переменную для полученной строки
inChar = bt.read();
if (inChar == '\r') continue; // Пропускаемый символ
else if (inChar == '\n' ) // При получения этого символа начинаем сравнение
{
if (inString == F("+RNAME:LeMax"))digitalWrite(LED, HIGH); // Действие при получение "+RNAME:LeMax"
else if (inString == F("OK"))digitalWrite(LED, HIGH); // Действие при получение "ОК"
else if ((inString.indexOf(F("LeMax")))!= -1) digitalWrite(LED, HIGH);//Действие если "LeMax" есть в строке
else digitalWrite(LED, LOW); // Действие при не совпадение c выше перечисленными
inString ="";
}
else inString += inChar;
}
}
Описание работы с строками

Ответить

Вернуться в «С++ в Ардуино»