|
|
今天学红外遥控,在论坛找了一个测试按键值的代码,可是打开串口监视器后,不停地跳出数据。本来以为是遥控器问题,可是就算把遥控器电池拆了,监视器还是不停跳数据。
代码如下:
/*
程序说明:解码红外遥控器
*/
#include <IRremote.h>
int RECV_PIN = 11; //红外线接收器OUTPUT端接在pin 11
IRrecv irrecv(RECV_PIN); // 定义IRrecv 对象来接收红外线信号
decode_results results; //解码结果放在decode_results构造的对象results里
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // 启动红外解码
}
void loop() {
if (irrecv.decode(&results)) {
// 解码成功,收到一组红外线信号
Serial.print("irCode: ");
Serial.print(results.value,HEX); // 输出红外线解码结果(十六进制)
//results.value 是unsigned long型,头文件有介绍
delay(100); //按键消抖
Serial.print(", bits: ");
Serial.println(results.bits); // 红外线码元位数
irrecv.resume();
} 
}
难道是因为我所处环境不合适,都是红外信号?{:soso_e110:} |
|