Подскажите, что за конструкция 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