У меня есть схема, которая принимает данные (массив конкретных символов) через bluetooth из моей программы Android.
теперь, что я хочу сделать, это: перепрограммировать мой микроконтроллер, я хочу фильтровать или извлекать ряд символов из массива, который получает мой микроконтроллер.
Мой андроид передает эти три вида массивов символов:
1. red#ILOVEYOU
2. blue#ILOVEYOULALALA
3. green#ILOVEDIANAROSECUSTODIO:)
Я хочу извлечь красный # или синий # или зеленый # и перенести его на другую переменную. мой телефон отправляет "#" в конце каждого цвета, потому что, я думаю, это облегчит извлечение.
char Comp(char* This){
while(Serial.available() > 0) // Don't read unless
// there you know there is data
{
if(index < 99){
inChar = Serial.read(); // Read a character
if(inChar == '#'){
}
inData[index] = inChar; // Store it
index++; // Increment where to write next
inData[index] = '\0'; // Null terminate the string
}
}
if(strcmp(inData,This) == 0){
for(int i=0;i<19;i++){
inData[i]=0;
}
index=0;
return(0);
}
else{
return(1);
}
}
Это мой код в arduino. Понимаете, он получает один символ в определенное очень малое время, а затем добавляет его в переменную массива символов.
Вы можете использовать функцию strtok() в c.