Aily Blockly 辅助 ESP32-S3 开发教程2
第 6 章:定时器与 PWM6.1 定时器概述ESP32-S3 有2 组通用定时器,每组 2 个,共 4 个 64 位定时器,支持:一次性 / 周期性定时32 位预分频器定时中断在 Aily Blockly 中,定时器积木封装了底层配置,使用简单:积木功能延时 [x] 毫秒阻塞延时延时微秒 [x]微秒级阻塞延时当前毫秒数获取系统运行时间初始化定时器 [TIMx] 周期 [x]ms 中断配置定时中断初始化 PWM 通道 [GPIO] 频率 [x]Hz配置 PWM 输出设置 PWM 占空比 [GPIO] 为 [x]%设置 PWM 占空比6.2 项目:呼吸灯(PWM 渐变)呼吸灯是 PWM 最经典的应用,通过连续改变占空比实现 LED 亮度渐变。硬件连接ESP32-S3 GPIO2 ───[ 220Ω ]─── LED(+) ─── GND积木程序当启动时 ├─ 初始化 PWM 通道 GPIO2 频率 5000Hz ├─ 创建变量 brightness = 0 ├─ 创建变量 step = 5 ├─ 永远重复 │ ├─ 设置 PWM 占空比 GPIO2 为 brightness │ ├─ brightness = brightness + step │ ├─ 如果 brightness = 100 或 brightness = 0 │ │ └─ step = -step (改变方向) │ └─ 延时 30 毫秒生成的 C 代码#include"driver/ledc.h"#include"freertos/FreeRTOS.h"#include"freertos/task.h"#defineLED_GPIO2voidapp_main(void){ledc_timer_config_ttimer_conf={.speed_mode=LEDC_LOW_SPEED_MODE,.duty_resolution=LEDC_TIMER_8_BIT,.timer_num=LEDC_TIMER_0,.freq_hz=5000,.clk_cfg=LEDC_AUTO_CLK};ledc_timer_config(timer_conf);ledc_channel_config_tledc_conf={.gpio_num=LED_GPIO,.speed_mode=LEDC_LOW_SPEED_MODE,.channel=LEDC_CHANNEL_0,