Подскажите, что за конструкция char Comp(char* This){}
- Войдите на сайт для отправки комментариев
Ср, 21/08/2013 - 23:53
Вот такой код. Работает. Пытаюсь прислонить под свой проект. Нужно принять строку из ком-порта и разобрать "вручную" на флаг и значение.
Не могу понять конструкцию 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);
}
Comp - это функция. Она проверяет наличие данных в Serial, если есть - записывает в буфер, но не более 19 символов. Если Serial пустой, проверяем строку в буфете с входным параметром This. Если совпало, то очищаем входной буфер и возвращаем 0.
Сразу скажу, что функция плохо написана, если в Serial выдать строку не on или off, то понять, работает программа или нет будет невозможно.
Мне нужно принимать строку около 200 символов. Потом разобрать на переменные - штук 60-70 и передать в цикл. Где это и будет крутиться до следующего пришествия данных из ком-порта.
Посоветуете, какие функции пользовать?
Мне нужно принимать строку около 200 символов. Потом разобрать на переменные - штук 60-70 и передать в цикл. Где это и будет крутиться до следующего пришествия данных из ком-порта.
Посоветуете, какие функции пользовать?
Функции поиска по сайту. Например для "разобрать на переменные" Разбор тестовой строки | Аппаратная платформа Arduino