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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3400|回复: 1

arduino 写一个简单的NEC红外遥控解码库

[复制链接]
发表于 2021-1-16 15:50 | 显示全部楼层 |阅读模式
本帖最后由 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);
  }
}


CxgIRremote.zip (2.6 KB, 下载次数: 52)
发表于 2021-3-19 16:24 | 显示全部楼层
正好最近在学习红外模块,谢谢楼主
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:37 , Processed in 0.073116 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表