Arduino core for the ESP32 并没有一般 Arduino 中用来输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC ,设计是用来控制 LED 。
ESP32 的 LEDC 总共有16个路通道(0 ~ 15),分为高低速两组,高速通道(0 ~ 7)由80MHz时钟驱动,低速通道(8 ~ 15)由 1MHz 时钟驱动。
目的
使用 LEDC 实现呼吸灯
配套介绍
编写工具: vscode + platformIO 安装教程
硬件: bpibit
主要函数
double ledcSetup(uint8_t channel, double freq, uint8_t resolution_bits)
设置 LEDC 通道对应的频率和计数位数(占空比分辨率),
该方法返回最终频率
通道最终频率 = 时钟 / ( 分频系数 * ( 1 << 计数位数 ) );(分频系数最大为1024)
参数</ |
---|