脉宽调制(PWM)是一种在数字引脚上获得人工模拟输出的方法。它通过快速将引脚从低电平切换到高电平来实现。与此相关的参数有两个:切换频率和占空比。占空比的定义是,与单周期(低电平加高电平时间)的长度相比,引脚高电平的时间有多长。最大占空比是指引脚一直处于高电平状态,最小占空比是指引脚一直处于低电平状态。
- 包含全部 16 个 PWM 通道和 8 个定时器的综合示例:
from machine import Pin, PWM
try:
f = 100 # Hz
d = 1024 // 16 # 6.25%
pins = (15, 2, 4, 16, 18, 19, 22, 23, 25, 26, 27, 14 , 12, 13, 32, 33)
pwms = []
for i, pin in enumerate(pins):
pwms.append(PWM(Pin(pin), freq=f * (i // 2 + 1), duty= 1023 if i==15 else d * (i + 1)))
print(pwms[i])
finally:
for pwm in pwms:
try:
pwm.deinit()
except:
pass
输出为:
PWM(Pin(15), freq=100, duty=64, resolution=10, mode=0