本文采用ESP32内部只带的RMT模块作为发送红外遥控的发射器。
红外协议来自 美的R05D功能说明书: https://wenku.baidu.com/view/c46594141ed9ad51f01df2c3.html
- 通常编码格式为: L,A,A’,B,B’,C,C’, S, A,A’,B,B’,C,C’ T
- L为引导码;S为分隔码;A为识别码(A=10110010=0xB2,预留方案时A=10110111=0xB7),A’为A的反码;B’为B的反码;C’为C的反码。T为终结码
- 第一帧和第二帧相同,由分隔符分开
- 采用MSB在先,LSB在后;也就是高位先发
- 数据B,C的部分含义如下图
开机码: b2 4d bf 40 d0 2f - b2 4d bf 40 d0 2f 【自动风,26度,制冷】
关机码: b2 4d 7b 84 e0 1f -b2 4d 7b 84 e0 1f 【B2位是开关位】
工程模式:b9 46 f7 08 00 ff-b9 46 f7 08 00 ff
灯光码:b5 4a f5 0a a5 5a -b5 4a f5 0a a5 5a
6.引导码 Lead : 4400us 低 + 4400us高
7.分割码 Split : 540us 低 + 5220us 高
8. 发送Bit1 : 540us 低 + 1620us 高
9. 发送Bit0: 540us 低 + 540us 高
10.终结符 Terminator: 540us 低 + 一直高
11.两个控制帧信号间最小间隔>5.22ms
#include "freertos/FreeRTOS.h"
#inc