Esp8266接收到遥控码如何存储在内存里
时间: 2024-04-22 22:27:56 浏览: 79
要在ESP8266上接收并存储遥控码,你可以使用EEPROM库来访问ESP8266的内部EEPROM存储器。EEPROM是一种非易失性存储器,可以用于在断电后保留数据。
下面是一个示例代码,演示如何接收遥控码并将其存储在EEPROM内存中:
```c
#include <EEPROM.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
const int RECV_PIN = 4; // 设置红外接收器引脚
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(115200);
irrecv.enableIRIn(); // 启用红外接收器
}
void loop() {
if (irrecv.decode(&results)) {
unsigned int code = results.value; // 获取接收到的红外遥控码
// 将遥控码存储在EEPROM内存中
EEPROM.begin(sizeof(code));
EEPROM.put(0, code);
EEPROM.commit();
Serial.print("Received code: 0x");
Serial.println(code, HEX);
irrecv.resume(); // 继续接收下一个红外遥控码
}
}
```
在上述示例代码中,我们首先包含了所需的库文件。然后,我们设置了红外接收器的引脚并创建了一个`IRrecv`对象。在`setup()`函数中,我们启用红外接收器。在`loop()`函数中,我们使用`irrecv.decode()`函数来接收红外遥控码,并将其存储在一个变量中。然后,我们使用EEPROM库来将遥控码存储在EEPROM内存中。最后,我们在串口监视器中打印接收到的遥控码。
请注意,ESP8266的EEPROM只有4KB大小,因此可以存储的数据量有限。你可以根据需要调整存储位置和大小。
阅读全文