ArduinoにIR受信機をつけてシリアルモニタ上に結果を表示させたいと思っていたのですが、Serial.avairable()>0が常に偽でif文(if (Serial.available()>0))をパスできませんでした。原因として考えられることは何かないでしょうか。
#include <IRremote.h> int input_pin = 10; //set D10 as input signal pin IRrecv irrecv(input_pin); decode_results signals; VarSpeedServo servo; char buff[10]={'\0'}; int counter = 0; void setup() { //シリアル Serial.begin(9600); irrecv.enableIRIn(); // enable input from IR receiver } void loop() { if (irrecv.decode(&signals)) { if(signals.value != 0xFFFFFFFF){ //長押しで送信されるFFFFFFFF以外のとき Serial.println(signals.value, HEX); if (Serial.available()>0){ char data = Serial.read(); buff[counter] = data; if (data == '\n'){ //buff[0]~buff[counter-1]までが文字列となってここでうけとれる //シリアル送信側で\nが最後につけられることが前提 Serial.write(buff); counter = 0; }else{ counter++; } } } irrecv.resume(); // get the next signal } }