arduino 写一个简单的NEC红外遥控解码库
本帖最后由 cxg 于 2021-3-1 09:21 编辑最近闲着写了一个arduino上的红外遥控解析代码库, 该库代码清晰易懂, 调试方便,在stm32f103c8t6, esp32, arduino uno上测试通过,
返回的数据可能跟其他红外接收库不同,我去掉了反码,只返回两个字节数据。该库占用资源少,仅使用一个支持外部中断的引脚即可, 无需专门的定时器, 支持重复码。
测试代码:
//红外遥控esp32代码
#include <Arduino.h>
#include "cxg_IRremote.h"
//红外遥控, 需要支持中断的引脚
#define IRremote_PIN 2
uint16_t receiveData = 0;
CxgIRremote cxgIRremote;
void setup() {
Serial.begin(115200);
cxgIRremote.attach(IRremote_PIN);
//arduino uno使用中断0或1
//ESP32,stm32等直接使用IRremote_PIN引脚
attachInterrupt(
0, []() {
cxgIRremote.handleRisingInterrupt();
},
RISING);
}
void loop() {
//可以返回只返回16位
// uint16_t data = cxgIRremote.read();
uint32_t data = cxgIRremote.read32();
if(data > 0) {
receiveData = data;
Serial.print("receive: ");
Serial.println(data, HEX);
}
}
正好最近在学习红外模块,谢谢楼主
页:
[1]