-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Closed
Labels
Resolution: DuplicateIssue is a duplicate of another issueIssue is a duplicate of another issue
Description
Board
esp32c6 DEV module
Device Description
下面是我的代码,我使用的esp8266库是2.6版本的,换其他版本也无法编译,
#include "USB.h" //串口通信库
#include "USBCDC.h"
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
// 定义红外接收引脚
const int RECV_PIN = 0; // ESP32的GPIO 0引脚
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
Serial.setDebugOutput(true);
irrecv.enableIRIn();
Serial.printf("initial success...");
}
void loop() {
if (irrecv.decode(&results)) {
// Serial.printf(results.value, HEX);
Serial.printf("Received: %x \r\n", results.value);
irrecv.resume();
}
// Serial.printf("USB CDC Data");
// delay(100);
}
Hardware Configuration
没有
Version
v3.2.0
Type
Task
IDE Name
arduino ide
Operating System
window
Flash frequency
80mhz
PSRAM enabled
yes
Upload speed
9600
Description
我想用IRremote红外库,进行红外开发,但是编译上面的程序一直报错,库版本不兼容,我不知道什么版本的库出了问题,您能帮助我把上面的程序编译好吗?
Sketch
#include "USB.h" //串口通信库
#include "USBCDC.h"
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
// 定义红外接收引脚
const int RECV_PIN = 0; // ESP32的GPIO 0引脚
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
Serial.setDebugOutput(true);
irrecv.enableIRIn();
Serial.printf("initial success...");
}
void loop() {
if (irrecv.decode(&results)) {
// Serial.printf(results.value, HEX);
Serial.printf("Received: %x \r\n", results.value);
irrecv.resume();
}
// Serial.printf("USB CDC Data");
// delay(100);
}
Debug Message
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp: In function 'void gpio_intr()':
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:246:3: error: 'timerAlarmEnable' was not declared in this scope; did you mean 'timerAlarm'?
246 | timerAlarmEnable(timer);
| ^~~~~~~~~~~~~~~~
| timerAlarm
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp: In member function 'void IRrecv::enableIRIn(bool)':
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:362:21: error: too many arguments to function 'hw_timer_t* timerBegin(uint32_t)'
362 | timer = timerBegin(_timer_num, 80, true);
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\liu\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\cores\esp32/esp32-hal.h:84,
from C:\Users\liu\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\cores\esp32/Arduino.h:36,
from c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.h:10,
from c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:6:
C:\Users\liu\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\cores\esp32/esp32-hal-timer.h:35:13: note: declared here
35 | hw_timer_t *timerBegin(uint32_t frequency);
| ^~~~~~~~~~
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:371:3: error: 'timerAlarmWrite' was not declared in this scope; did you mean 'timerWrite'?
371 | timerAlarmWrite(timer, MS_TO_USEC(params.timeout), ONCE);
| ^~~~~~~~~~~~~~~
| timerWrite
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:375:23: error: too many arguments to function 'void timerAttachInterrupt(hw_timer_t*, void (*)())'
375 | timerAttachInterrupt(timer, &read_timeout, false);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\liu\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\cores\esp32/esp32-hal-timer.h:50:6: note: declared here
50 | void timerAttachInterrupt(hw_timer_t *timer, void (*userFunc)(void));
| ^~~~~~~~~~~~~~~~~~~~
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp: In member function 'void IRrecv::disableIRIn()':
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:401:3: error: 'timerAlarmDisable' was not declared in this scope
401 | timerAlarmDisable(timer);
| ^~~~~~~~~~~~~~~~~
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp: In member function 'void IRrecv::pause()':
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:416:3: error: 'gpio_intr_disable' was not declared in this scope; did you mean 'esp_intr_disable'?
416 | gpio_intr_disable((gpio_num_t)params.recvpin);
| ^~~~~~~~~~~~~~~~~
| esp_intr_disable
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp: In member function 'void IRrecv::resume()':
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:429:3: error: 'timerAlarmDisable' was not declared in this scope
429 | timerAlarmDisable(timer);
| ^~~~~~~~~~~~~~~~~
c:\Users\liu\Documents\Arduino\libraries\IRremoteESP8266\src\IRrecv.cpp:430:3: error: 'gpio_intr_enable' was not declared in this scope; did you mean 'esp_intr_enable'?
430 | gpio_intr_enable((gpio_num_t)params.recvpin);
| ^~~~~~~~~~~~~~~~
| esp_intr_enable
exit status 1
Compilation error: exit status 1
Other Steps to Reproduce
没有了
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.
Metadata
Metadata
Assignees
Labels
Resolution: DuplicateIssue is a duplicate of another issueIssue is a duplicate of another issue