前言
输出 PWM 信号的基本流程通常包括两个步骤:创建 Timer 对象和创建 PWM 对象。首先创建一个 Timer 对象,然后使用 mode=Timer.MODE_PWM
参数将其配置为 PWM 模式工作。接着,创建一个 PWM 对象并将其连接到 Timer 对象上,并指定一些必要的参数,例如 PWM 信号的输出管脚号、频率和占空比等参数。至此,就可以通过 PWM 对象的 duty()
方法来控制 PWM 信号的占空比,实现相应的输出功能。
基础
- 要想输出多个PWM的话,要开启新的通道。
- Timer.TIMER0的通道有0~3 Timer.TIMER1的通道有0~3 Timer.TIMER2的通道有0~3
- 信号的占空比0~100代表着0%~100%
代码例程
import sensor, image, time
from machine import Timer,PWM
# 设置 PWM 引脚
# 实例化Timer对象
# 参数: Timer的类型 CHANNELx通道 工作模式
tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
#tim2 = Timer(Timer.TIMER0, Timer.CHANNEL3, mode=Timer.MODE_PWM)
# 实例化PWM对象
# 参数: Timer对象 信号的频率(Hz) 信号的占空比 信号输出的管脚
CH1 = PWM(tim, freq=1000000, duty=50, pin=16)
#CH2 = PWM(tim2, freq=2000000, duty=25, pin=17)
# 周期 = freq / (duty/100)
while(True):
pass
# 改变 PWM 的占空比
# CH1.duty(30);
# 改变 PWM 周期
# CH1.freq(1000);
代码现象
通过逻辑分析仪检测引脚16,就能看到输出的波形