计算机初学小白 2022-08-25 18:40 采纳率: 0%
浏览 188

在arduino编程上编写红外遥控调速小风扇的程序,在编译时出现了错误:'irRecv' was not declared in this scope。是怎么回事?该如何解决?(语言-c语言)

打算用areduino软件编写红外遥控调速小风扇的程序,代码如下:#define startVoice;
#define startredsensor;
#include <Servo.h>
#include <IRremote.h>
const int hongwai = 12;
const int duoji = 3;
const int fengshan1 = 10;
const int fengshan2 = 9;

boolean a = false;
int fengshanmuorenzhi = 150;
int duojimuorenzhi = 90;
int fengshangaibianzhi = 5;
int duojigaibianzhi = 5;
int fengshanzuidizhi = 50;

void setup() {

IRrecv irRecv(hongwai);
decode_results results;
Servo servo;
Serial.begin(9600);
irRecv.enableIRIn();
servo.attach(duoji);
servo.write(90);
}

void loop() {
if(irRecv.decode(&results)){
Serial.println(results.value,HEX);
switch(resuls.value){
case 0xFC23D:
{
a = !a;
}
break;
case 0xFA857:
{
fengshanmuorenzhi = fenshanmuorenzhi + fenshangaibianzhi;
if (fengshanmuorenzhi >255){
fengshanmuorenzhi = 255;
}
}
break;
case 0xFE01F:{
fengshanmuorenzhi = fenshanmuorenzhi - fenshangaibianzhi;
if (fengshanmuorenzhi < fengshanzuidizhi){
fengshanmuorenzhi = 50;
}
}
break;
case 0xF22DD:{
duojimuorenzhi = duojimuorenzhi + duojigaibianzhi;
if (duojimuorenzhi>180){
duojimuorenzhi = 180;
}
}
break;
case 0xF02FD:{
duojimuorenzhi = duojimuorenzhi - duojigaibianzhi;
if (duojimuorenzhi<0){
duojimuorenzhi = 0;
}
}
break;
}
servo.write(duojimuorenzhi);
if (a == flase){
analogWrite(fengshan1,fengshanmuorenzhi);
analogWrite(fengshan2,fengshanmuorenzhi);
}
else{
analogWrite(fengshan1,0);
analogWrite(fengshan1,0);
}

}
}
编写后出现了错误信息:
Arduino:1.8.5 (Windows 10), 开发板:"Arduino/Genuino Uno"

E:\璧垫槬灏т笓鐢ㄦ枃浠跺す锛堥櫎鏈汉澶栦换浣曚汉涓嶅彲瀵规枃浠跺す杩涜浠讳綍鏇存敼锛侊級\sketch_aug22a\sketch_aug22a.ino:1:19: warning: ISO C99 requires whitespace after the macro name

E:\璧垫槬灏т笓鐢ㄦ枃浠跺す锛堥櫎鏈汉澶栦换浣曚汉涓嶅彲瀵规枃浠跺す杩涜浠讳綍鏇存敼锛侊級\sketch_aug22a\sketch_aug22a.ino:2:23: warning: ISO C99 requires whitespace after the macro name

E:\璧垫槬灏т笓鐢ㄦ枃浠跺す锛堥櫎鏈汉澶栦换浣曚汉涓嶅彲瀵规枃浠跺す杩涜浠讳綍鏇存敼锛侊級\sketch_aug22a\sketch_aug22a.ino: In function 'void loop()':

sketch_aug22a:29: error: 'irRecv' was not declared in this scope

sketch_aug22a:29: error: 'results' was not declared in this scope

sketch_aug22a:31: error: 'resuls' was not declared in this scope

sketch_aug22a:39: error: 'fenshanmuorenzhi' was not declared in this scope

sketch_aug22a:39: error: 'fenshangaibianzhi' was not declared in this scope

sketch_aug22a:46: error: 'fenshanmuorenzhi' was not declared in this scope

sketch_aug22a:46: error: 'fenshangaibianzhi' was not declared in this scope

sketch_aug22a:67: error: 'servo' was not declared in this scope

sketch_aug22a:68: error: 'flase' was not declared in this scope

exit status 1
'irRecv' was not declared in this scope

在文件 -> 首选项开启
“编译过程中显示详细输出”选项
这份报告会包含更多信息。
最明显的错误信息是:
'irRecv' was not declared in this scope
这是怎么回事?看到这条信息的各位帮忙看一下。希望大家能帮我解决,非常感谢。

  • 写回答

2条回答 默认 最新

  • 木泽八 嵌入式领域优质创作者 2022-12-26 18:20
    关注

    #include <IRremote.h>
    这个头文件存在吗?

    评论

报告相同问题?

问题事件

  • 创建了问题 8月25日

悬赏问题

  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 有关类的报错,在模块里调用另一个模块的方法下的变量时出错
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格
  • ¥15 kali linux用wget archive.kali.org/archive-key.asc指令下载签名无效(失败)
  • ¥15 openHarmony 利用c++程序在dayu210开发板上实现拉取RTSP视频流并且在屏幕上显示
  • ¥15 GD32H757的can通信配置
  • ¥20 nist随机数测试的问题
  • ¥20 帮我解决这个项目,thank you各位程序员