红外解码,为什么每次结果都不一样?
用网上的红外解码例子,每次解码结果都不一样,用电视遥控每次解码是三行?#include <IRremote.h>// 使用IRRemote函数库
const int irReceiverPin = 11;// 红外接收器的 OUTPUT 引脚接在 PIN2 接口 定义irReceiverPin变量为PIN2接口
IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
decode_results results; // 定义results变量为红外结果存放位置
void setup()
{
Serial.begin(9600); // 开启串口,波特率为9600
irrecv.enableIRIn(); // 启动红外解码
}
void loop()
{
if (irrecv.decode(&results)) { // 解码成功,把数据放入results变量中
// 把数据输入到串口
Serial.print("irCode: ");
Serial.print(results.value, HEX); // 显示红外编码
Serial.print(",bits: ");
Serial.println(results.bits); // 显示红外编码位数
irrecv.resume(); // 继续等待接收下一组信号
}
}
这是电视遥控1键
irCode: 81972EE,bits: 32
irCode: A3FFD1CF,bits: 32
irCode: DB14D038,bits: 32
irCode: DCC8CD07,bits: 32
irCode: 8710B0D6,bits: 32
irCode: D23DF6A9,bits: 32
irCode: 811DAB6C,bits: 32
irCode: 48B1C77F,bits: 32
irCode: DD54345E,bits: 32
irCode: 6FCEEDD0,bits: 32
irCode: C199D1CC,bits: 32
irCode: BD65FF34,bits: 32
估计是解析出问题了,建议自己捕捉原始编码。
页:
[1]