【01Studio MaixPy AI K210】6.PWM

目录

硬件准备:

​引脚图:

导包:

PWM库

配置定时器:

配置PWM:

例程

(以下内容均为个人所学总结,希望对你有所帮助,感谢你的阅读!!!)

硬件准备:

引脚图:

导包:

from machine import Timer,PWM

PWM库

#设置频率。不传参数返回当前频率值。
PWM.freq(freq)

#设置占空比。不传参数返回当前占空比值。[0-100]表示占空比百分比
PWM.duty(duty)

#使能 PWM 输出。
PWM.enable()

#暂停 PWM 输出。
PWM.disable()

#注销 PWM。
PWM.deinit()

配置定时器:

'''
【id】定时器编号, [Timer.TIMER0~TIMER2] 定时器 0-2
【channel】Timer 通道,[Timer.CHANNEL0~Timer.CHANNEL3] 
【mode】定时器模式
	   MODE_ONE_SHOT: 一次性
	   MODE_PERIODIC: 周期性
	   MODE_PWM
【period】定时器为周期性模块时每个周期时间值
【unit】周期的单位
	   Timer.UNIT_S:秒
	   Timer.UNIT_MS:毫秒
	   Timer.UNIT_US:微妙
	   Timer.UNIT_NS:纳秒
【callback】定时器中断执行的回调函数;注意:回调函数是在中断中调用
的,所以在回调函数中请不要占用太长时间以及做动态内存分配开关中断等
动作。 
【arg】回调函数第 2 个参数
【start】是否在构建对象后立即开始定时器,
	    =True: 立即开始;
	    =False: 不立即开始,需要调用 start()来开启。
【priority】硬件中断优先级,在 K210 中,取值范围是[1,7],值越小优先级越高
【div】硬件分频器。
'''
machine.Timer(id,channel,mode=Timer.MODE_ONE_SHOT,period=1000,unit=Timer.UNIT_MS,callback=None,
              arg=None, start=True,priority=1, div=0)
ding_shi_qi0=Timer(Timer.TIMER0,Timer.CHANNEL0,mode=Timer.MODE_PWM)

配置PWM:

'''
【tim】K210 的 PWM 依赖于定时器来产生波形
【freq】PWM 频率
【duty】PWM 占空比
【pin】PWM 输出引脚
【enable】是否在构建对象后立即产生波形,默认 True
'''
machine.PWM(tim, freq, duty, pin, enable=True)

LED_LanDeng=PWM(ding_shi_qi0,freq=1,duty=99,pin=12)

例程:

'''
main.py

呼吸灯
'''

from machine import Timer,PWM
import time

ding_shi_qi0=Timer(Timer.TIMER0,Timer.CHANNEL0,mode=Timer.MODE_PWM)
LED_LanDeng=PWM(ding_shi_qi0,freq=500000,duty=99,pin=12)


while True:
    for i in range (0,100,1):
        LED_LanDeng.duty(i)
        time.sleep(0.05)
    for i in range (100,0,-1):
        LED_LanDeng.duty(i)
        time.sleep(0.05)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

因心,三人水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值