首页 / 外设专题 / RMT 红外与 WS2812

ESP32 RMT 使用指南 · 红外收发、WS2812 灯带与避坑

RMT 是 ESP32 上最被低估的外设:红外遥控、WS2812 灯带、单总线传感器都靠它。这里讲清通道数、分辨率和 Wi-Fi 干扰问题。

RMT 是干什么的

RMT(Remote Control)原本是为红外遥控设计的,本质是一个可编程的精确波形发生器。它能以 12.5 ns 级的分辨率输出任意高低电平序列,而且不需要 CPU 参与——数据写进内存后硬件自己发,CPU 可以去干别的。

所以除了红外,它还被大量用来驱动:

通道与分辨率

项目ESP32 经典款说明
通道数8TX 与 RX 共用这 8 个通道
时钟源80 MHz APB约 12.5 ns 一个 tick
S2 / S3 / C3 / C6 / H2 / P4以官方文档为准(通道数各不相同,C3 明显少于经典款)
通道数请查官方文档:各型号的 RMT 通道数与内存块大小差异较大,本站只给出经典款的确信值。

最大的坑:Wi-Fi 会让灯带闪

WS2812 的时序容差很小(0 码高电平约 0.35 µs)。Wi-Fi 工作时,射频会短暂占用总线并延迟 RMT 的内存填充中断,导致某个灯珠的码型被拉长——表现就是随机位置的灯珠颜色错乱或整条闪烁。

常见的缓解办法:

其他注意事项

数据核验:2026-10-20 · 以 Espressif 官方文档交叉核对。随型号或 ESP-IDF 版本变化的字段一律标注「以官方文档为准」,不编造具体数值。 官方外设文档 →

相关页面