PWM / DAC 动作
| actionType | 参数 | 目标与边界 |
|---|---|---|
| 4 | 原始占空比计数 | 已配置 PWM/AO 或受检舵机路径 |
| 5 | 完整十进制整数 0~255 | 已保存、启用且当前芯片支持的 DAC |
| 2 | 闪烁间隔 ms | 支持波形的输出 |
| 3 | 呼吸周期 ms | 支持 PWM/AO 的输出 |
PWM 范围随已保存分辨率变化,例如 8 位最大 255,12 位最大 4095。actionValue="128" 表示计数,不是 128%。AO 模式还按保存的工程范围转换,不能沿用裸计数假设。频率、通道和引脚通过已有资源分配,不保证任意 LEDC 通道都空闲。
原始 PWM
以下是一项动作,加入已确认的触发规则中:
json
{
"actionType": 4,
"targetPeriphId": "led_pwm",
"actionValue": "128",
"useReceivedValue": false,
"syncDelayMs": 0,
"execMode": 0
}舵机动作 4 也读取原始 PWM duty,既不是角度也不是微秒。需要角度界面或位置控制时使用受检舵机入口,并核对脉宽范围、供电、机械行程和来源。不要把 90 自动解释为 90°。
DAC
json
{
"actionType": 5,
"targetPeriphId": "dac1",
"actionValue": "128",
"syncDelayMs": 0,
"execMode": 0
}经典 ESP32 的内部 DAC 与其他 ESP32 系列能力不同;GPIO25/26 仅作为经典 ESP32 常见通道说明,不能套用于 C3/C6/S3。当前规则 DAC 拒绝空值、负数、小数、尾随字符和超限值,不通过 byte 回绕伪造成功。旧脚本 DAC <pin> <value> 的解析钳位语义不同,推荐严格参数与命名外设。
SDK 接受 DAC 写入不证明实际电压等于理想满量程比例,需测量标定。PWM STOP 停波形并保留最后输出,不能当作电气关闭。来源、停止及物理确认边界见PWM 与蜂鸣器和动作检查。

