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

Brand2
Лейтенант
Сообщения: 450
Зарегистрирован: 26 фев 2018, 21:27
Откуда: Haifa
Имя: Alex
Благодарил (а): 2 раза
Поблагодарили: 5 раз

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

Сообщение Brand2 »

Огромное спасибо pan,,буду добивать дальше теперь .
Аватара пользователя
Oleg_UA
Сержант
Сообщения: 115
Зарегистрирован: 07 янв 2017, 23:30
Откуда: Днепр
Имя: Олег

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

Сообщение Oleg_UA »

Ещё вариант.
[spoiler]#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;
}
}[/spoiler]

Описание работы с строками
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя