关于arduino与红外遥控的问题

代码段如下:
void loop() {

if(irrecv.decode(&results)){

if(results.value == 0x4EA240AE){
  while(results.value != 0x4E87E0AB){
  One_And_One(10,11);
  }
}
irrecv.resume();

}

}
//思路是:while判断条件为假的时候,跳出循环体
//事实是:results.value一直无法获得下一个编码,while的条件一直为真,变成了一个死循环
请各位指导赐教。

你这是自己给自己设个套钻进去了啊,results.value == 0x4EA240AE去判断进入循环,他必然不等于 0x4E87E0AB,然后就死循环,你具体的逻辑是什么样的,你描述一下我可以帮你修正一下代码

你循环的时候results.value值没有变,你把处理函数放到循环中去处理,处理完了就能跳出来了