現在、大学の学生で、私のプログラミングクラスに先んじて、ポインタを少し楽しむことにしました。これは、特定のシリアル入力を受け取り、Teensy++2.0に接続した3つのLEDの状態を変更することになっています。しかし、それは私に最初の入力を返すだけのようです。
http://arduino.cc/en/Serial/ReadBytesUntil
これはReadBytesUntil()の私のリファレンスです入力は#、#、###になります(例として1,1,255)
基本的に私の質問はReadBytesUntil( )コンマを扱いますか?もしそうなら、ここで何が起こっているのですか?
編集-私は私の先生に尋ねました、そして彼でさえそれがうまくいかない理由の手がかりがありません。
char *dataFinder(char *str){
while (*str != ','){
str++;
}
str++;
return str;
}
void inputDecoder(){
str = incomingText;
whichLED = *str;
dataFinder(str);
onoff = *str;
dataFinder(str);
powerLevel = *str;
}
void loop(){
int length;
if (Serial.available() > 0 ){ //this is basically: if something is typed in, do something.
length = Serial.readBytesUntil(13,incomingText, 10); //reads what is typed in, and stores it in incomingVar
incomingText[length]=0; ///swapping out cr with null
inputDecoder();
//ledControl();
Serial.print("Entered:");
//incomingText[9]=0;
Serial.println(incomingText); //Here for testing, to show what values I'm getting back.
Serial.println(whichLED);
Serial.println(onoff);
Serial.println(powerLevel);
}
delay(1000);
}