arduino 写一个简单的NEC红外遥控解码库-Arduino中文社区 - Powered by Discuz! Archiver

cxg 发表于 2021-1-16 15:50

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);
}
}



myself1820 发表于 2021-3-19 16:24

正好最近在学习红外模块,谢谢楼主
页: [1]
查看完整版本: arduino 写一个简单的NEC红外遥控解码库