猪百岁 发表于 2021-3-29 21:21:06

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

## PWM 的使用

关于 PWM 详细介绍请参考(https://cn.maixpy.sipeed.com/zh/api_reference/machine/pwm.html).

## 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)
```

洗白白点灯灯 发表于 2021-4-11 12:43:18

大佬我直接复制你的代码出现了错误,NamenError:name'boad_info'isn't defined    就是这个错误,是什么问题呢?

JVUm7ppJGaRK 发表于 2023-10-13 23:50:48

666666666666666666666666666
页: [1]
查看完整版本: 【新手基础教程】片上外设之 PWM 的使用