GPIO 控制
pinMode
设置引脚模式
INPUT/OUTPUT/INPUT_PULLUP
INPUT_PULLUP
功能:将引脚配置为数字输入,并启用内部上拉电阻(约 45kΩ),将引脚默认电平拉高至 HIGH。
特性:
引脚默认电平为 HIGH(3.3V)。
当外部电路将引脚接地时,电平变为 LOW。
digitalWrite(pin, value)
输出数字信号(HIGH/LOW)。
digitalRead(pin)
读取数字输入信号。
analogRead(pin)
读取模拟输入(默认 12 位精度,0~4095)。
PWM 控制
ledcSetup(channel, freq, resolution_bits)
配置 PWM 通道(频率、分辨率)。
功能:配置 PWM 通道的频率和分辨率。
参数:
channel:PWM 通道号(0~15,ESP32 共有 16 个 LEDC 通道)。
freq:PWM 频率(单位:Hz,建议范围 1Hz ~ 40MHz,但实际受分辨率限制)。
resolution_bits:PWM 占空比分辨率位数(1~20,如 8 位对应占空比范围 0~255)。
返回值:实际设置的频率(若参数不合法,可能返回 0)。
ledcAttachPin(pin, channel)
将引脚绑定到 PWM 通道。
功能:将 GPIO 引脚绑定到指定的 PWM 通道。
参数:
pin:GPIO 引脚号(如 2, 4, 5 等支持 PWM 的引脚)。
channel:已通过 ledcSetup() 配置的通道号。
注意:
一个通道可以绑定多个引脚,但同一引脚不能重复绑定不同通道。
确保引脚未用于其他功能(如输入模式)。
ledcWrite(channel, duty_cycle)
设置 PWM 占空比。
功能:设置 PWM 通道的占空比。
参数:
channel:目标 PWM 通道号。
duty_cycle:占空比值(范围由 resolution_bits 决定,如 8 位时为 0~255)。
使用 DAC(真正模拟输出)
直接调用 dacWrite(pin, value) 函数,无需额外库。
参数:
pin:仅支持 GPIO25 或 GPIO26。
value:0~255(8 位分辨率,0 对应 0V,255 对应 3.3V)。