【新手基础教程】片上外设之 PWM 的使用

2021-03-294737
AI 快速预览详细 收起
本文是一篇关于PWM使用的基础教程,适用于零基础的新手。文章首先介绍了如何从machine模块导入PWM和Timer,然后创建Timer和PWM对象,并通过改变占空比来控制LED灯亮度。示例代码展示了如何逐步调整占空比,实现LED灯亮度的变化。通过这篇教程,读者可以轻松掌握PWM的基本操作,为硬件编程打下坚实的基础。

PWM 的使用

关于 PWM 详细介绍请参考PWM-API 文档.

1. 使用方法

  • 从 machine 导入 PWM, Timer 模块
from machine import Timer,PWM
  • 创建 Timer 和 PWM
tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
ch = PWM(tim, freq=500000, duty=50, pin=boad_info.LED_G)
  • 改变占空比, 设置的 pin 脚将输出不同占空比的波形
ch.duty(duty)

2. 示例

控制 LED_G 灯亮度

from machine import Timer,PWM
import time
from board import board_info
from fpioa_manager import fm

tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
ch = PWM(tim, freq=500000, duty=50, pin=boad_info.LED_G)
duty=0
dir = True
while True:
    if dir:
        duty += 10
    else:
        duty -= 10
    if duty>100:
        duty = 100
        dir = False
    elif duty<0:
        duty = 0
        dir = True
    time.sleep(0.05)
    ch.duty(duty)

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
JVUm7ppJGaRK
JVUm7ppJGaRK
666666666666666666666666666
洗白白点灯灯
洗白白点灯灯
大佬我直接复制你的代码出现了错误,NamenError:name'boad_info'isn't defined 就是这个错误,是什么问题呢?
- 没有更多了 -