Подскажите, что за конструкция char Comp(char* This){}

Vlad_J
Offline
Зарегистрирован: 28.04.2013

 

Вот такой код. Работает. Пытаюсь прислонить под свой проект. Нужно принять строку из ком-порта и разобрать "вручную" на флаг и значение.

Не могу понять конструкцию  char Comp(char* This){}. Облазил все, что мог, яснее не стало. Кто-то может для совсем начинающего пояснить, что здесь происходит?

byte index = 0;
int ledPin = 13; //Выходной контакт

void setup(){
pinMode(ledPin, OUTPUT);
Serial.begin(9600);

}

char Comp(char* This){

while(Serial.available() > 0)
{
if(index < 19)
{
inChar = Serial.read(); // Считываем символы
inData[index] = inChar; // Храним в массиве
index++; // Увеличиваем индекс на 1
inData[index] = '\0'; // Null в конец строки
}
}

if(strcmp(inData,This)  == 0){
for(int i=0;i<19;i++){
inData[i]=0;
}
index=0;
return(0);

}
else{
return(1);

}
}

void loop()
{
if(Comp("on")==0){
digitalWrite(ledPin, HIGH); //Включить светодиод
}
if(Comp("off")==0){
digitalWrite(ledPin, LOW); // Выключить светодиод
}
delay(100);
}

 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Comp - это функция. Она проверяет наличие данных в Serial, если есть - записывает в буфер, но не более 19 символов. Если Serial пустой, проверяем строку в буфете с входным параметром This. Если совпало, то очищаем входной буфер и возвращаем 0.
Сразу скажу, что функция плохо написана, если в Serial выдать строку не on или off, то понять, работает программа или нет будет невозможно.

Vlad_J
Offline
Зарегистрирован: 28.04.2013

Мне нужно принимать строку около 200 символов. Потом разобрать на переменные - штук 60-70 и передать в цикл. Где это и будет крутиться до следующего пришествия данных из ком-порта.

Посоветуете, какие функции пользовать?

leshak
Offline
Зарегистрирован: 29.09.2011

Vlad_J пишет:

Мне нужно принимать строку около 200 символов. Потом разобрать на переменные - штук 60-70 и передать в цикл. Где это и будет крутиться до следующего пришествия данных из ком-порта.

Посоветуете, какие функции пользовать?

Функции поиска по сайту. Например для "разобрать на переменные" Разбор тестовой строки | Аппаратная платформа Arduino