arduino里面怎么让我接收的红外值保持恒定,比如我按下1,就一直循环1里面的内容,知道我按下其他键?

我i现在是只循环了一次,我想要一直循环 ,比如results.value == 0xFF30CF下的内容 ,直到我按下其他键
#include <IRremote.h>
#include <ir_Lego_PF_BitStreamEncoder.h>
IRrecv irrecv(11);
decode_results results; //Create the object of decode result
int MV_PIN=6;

void setup() {

irrecv.enableIRIn(); //Star reveiving
Serial.begin(9600);
pinMode(MV_PIN,OUTPUT);
}
void loop() {
if (irrecv.decode(&results))
{
if(results.value == 0xFF30CF)
{
digitalWrite(MV_PIN,HIGH);//
delay(90);
Serial.println("lv90");
}
if(results.value == 0xFF18E7)
{
digitalWrite(MV_PIN,HIGH);//
delay(120);
Serial.println("lv120");
}
if(results.value ==0xFF7A85)
{
digitalWrite(MV_PIN,HIGH);//
delay(200);
Serial.println("lv200");
}
if(results.value == 0xFF10EF)
{
digitalWrite(MV_PIN,HIGH);//
delay(250);
Serial.println("lv250");
}
if(results.value == 0xFF38C7)
{
digitalWrite(MV_PIN,HIGH);//
delay(400);
Serial.println("lv400");
}
if(results.value == 0xFF6897)
{
digitalWrite(MV_PIN,LOW);
Serial.println("NO sign");
}
irrecv.resume();
}
}

代码改一下就行了。不要直接用if(results.value == 0xFF30CF)直接执行代码。
先设置一个全局变量x,,然后把x=results.value ,比较这个x的值
你不接收新数值,x就一直是原来的数值
温馨提示:答案为网友推荐,仅供参考