本节课主要学习microPython控制PWM输出的功能。
本次实验的参考代码路径为:CanMV\03-Hardware\pwm.py
模块的出厂固件已经集成PWM输出模块,如果下载过其他固件,请烧录回出厂固件再进行实验。
from machine import Timer, PWMimport time
xxxxxxxxxxtim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
xxxxxxxxxxpwm = machine.PWM(tim, freq, duty, pin, enable=True)
tim: 每个PWM依赖一个定时器来产生波形, 所以这里需要传一个定时器对象,这个定时器对象必须初始化时必须指定定时器 ID 和通道号freq: PWM 波形频率duty: PWM 占空比, 指高电平占整个周期的百分比,取值:[0,100][pin]: PWM 输出引脚。 实际物理引脚IO编号。enable: 是否立即开始产生波形,默认位True,及对象生成后立即开始在指定的引脚上产生 PWM 波形xduty=0add = Truewhile True:if add:duty += 10else:duty -= 10if duty > 100:duty = 100add = Falseelif duty < 0:duty = 0add = Truetime.sleep(0.05)pwm.duty(duty)
xxxxxxxxxx# RED=27, GREEN=26, BLUE=29LED_PIN = 26
将K210模块通过microUSB数据线连接到电脑上,CanMV IDE点击连接按钮,连接完成后点击运行按钮,运行例程代码。也可以将代码作为main.py下载到K210模块上运行。
可以看到RGB灯亮绿色,并且持续从最暗到最亮,再从最亮到最暗调节,呈现呼吸灯效果。




使用CanMV IDE,搭配出厂固件写好的MicroPython语法,使得控制PWM输出非常轻松,通过简单配置定时器和PWM,就可以展示呼吸灯效果。PWM输出依赖于定时器,目前K210总共有3个定时器,每个定时器有4个通道,所以最多可以输出12个PWM信号。PWM占空比为输出高电平时间与周期的比值。