IRremote 库中的 MARK_EXCESS_MICROS 是什么?

问题描述

我正在使用 espressif esp32 devkit v1 板,并且正在尝试创建一个通用 IR 遥控器。我正在使用 IRremote 库 (https://github.com/Arduino-IRremote/Arduino-IRremote)。在运行 ReceiveDump 示例以收集原始 IR 数据(使用 TSOP38238)时,我遇到了 #define MARK_EXCESS_MICROS 20 的定义。该示例打印一个使用 MARK_EXESS_MICROS 进行“补偿”的数组,如下所示:

Serial.print(F("Result as internal ticks (50 us) array - compensated with MARK_EXCESS_MICROS="));
Serial.println(MARK_EXCESS_MICROS);
IrReceiver.compensateAndPrintIRResultAsCArray(&Serial,false);
Serial.print(F("Result as microseconds array - compensated with MARK_EXCESS_MICROS="));
Serial.println(MARK_EXCESS_MICROS);
IrReceiver.compensateAndPrintIRResultAsCArray(&Serial,true);

稍后,当我发送存储的 IR 代码(使用 IR LED)时,我的电视仅在 MARK_EXCESS_MICROS 为 0 时响应(打开/关闭),但我的 AC 不响应任何 MARK_EXCESS_MICROS 值。

这里是我的问题:

  1. 什么是 MARK_EXCESS_MICROS,我们为什么需要它?
  2. 不同的设备是否需要不同的 MARK_EXCESS_MICROS 值?
  3. 我如何有效地利用这个价值?

任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)