ESP32库3.0.x以上版本LED控制器LEDC的使用

官方的参考链接:https://docs.espressif.com/projects/arduino-esp32/en/latest/api/ledc.html

在3.x的版本中删除了一下函数

  • ledcSetup

  • ledcAttachPin

现在输出一个PWM波形的方法如下:

ledcAttach

此功能用于设置 LEDC 引脚的给定频率和分辨率。LEDC 通道将自动选择。

bool ledcAttach(uint8_t pin, uint32_t freq, uint8_t resolution);

/*
·pin选择 LEDC 引脚。

·freq选择 pwm 的频率。

·resolution选择LEDC通道的分辨率。范围是 1-14 位(ESP32 为 1-20 位)。

·true如果配置成功,此函数将返回。如果false返回,则发生错误,LEDC 通道未配置。
*/

ledcWrite

该函数用于设置 LEDC 引脚的占空比

bool ledcWrite(uint8_t pin, uint32_t duty);

/*
·pin选择 LEDC 引脚。

·duty选择要为选定的 LEDC 引脚设置的占空比。

·true如果设置占空比成功,此函数将返回。如果false返回,则发生错误,并且未设置占空比。
*/

完整代码如下:

#define PIN                   1
#define BASE_FREQ             5000
#define LEDC_TIMER_12_BIT     12

void setup() {
  //ledc的通道会自行分配,这里只要GPIO、频率、分辨率就行了
  ledcAttach(PIN , BASE_FREQ, LEDC_TIMER_12_BIT);
  ledcWrite(PIN , 0);

  ledcWrite(PIN , 200);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值