| 今天学习了一个红外线模块,红外线的按键都被定义为16进制的值,用这个值进行if分支语句执行,今天有好多不明白的,应该学学C语言,但是大家都说挺难的,但是不学C的写法,就不能改代码,尤其这个IDE编码时只是简单的报个错,错误在哪产生的不能直观的知道.急需解决的问题
 1 IRremote是什么
 2 irrecv是个什么类
 3 为什么要用results来接收值
 #include <IRremote.h>  
const int irReceiverPin =17; 
const int led1Pin = 13;       
const int led2Pin =25; 	      
const int led3Pin = 26;		  
IRrecv irrecv(irReceiverPin); 
decode_results results;		  
void setup()
{
   Serial.begin(9600);       
  pinMode(led1Pin,OUTPUT);   
  pinMode(led2Pin, OUTPUT);  
  pinMode(led3Pin, OUTPUT);  
  irrecv.enableIRIn();       
}
void loop() 
{
  if (irrecv.decode(&results)) 		   
  { 
    Serial.print("irCode: ");          
    Serial.print(results.value, HEX);  
    Serial.print(", bits: ");          
    Serial.println(results.bits);      
    irrecv.resume();                   
    Serial.print(results.value, HEX);  
  } 
  delay(600); 
  if(results.value == 0xFF6897)  
  {
    digitalWrite(led1Pin,HIGH);  
  }
  else if(results.value == 0xFF18E7)  
  {
    digitalWrite(led2Pin,HIGH);  
  }
  else if(results.value == 0xFF7A85)  
  {
    digitalWrite(led3Pin,HIGH);  
  }
  else
  {
    digitalWrite(led1Pin,LOW);   
    digitalWrite(led2Pin,LOW);   
    digitalWrite(led3Pin,LOW);   
  }
}
 |