PWM – 脉冲宽度调制

脉冲宽度调制(英语:Pulse-width modulation,缩写:PWM),简称脉宽调制,是将模拟信号变换为脉冲的一种技术,一般变换后脉冲的周期固定,但脉冲的工作周期会依模拟信号的大小而改变。


使用示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# coding=utf-8
import utime
from machine import PWM

p = PWM(0, freq=16000, duty=20)

p.init()

utime.sleep_ms(10)

p.deinit()

函数接口


machine_pwm.PWM(id)[源代码]

创建一个具有给定id的PWM对象。 id 的值取决于特定端口及其硬件, 不同设备支持的PWM端口号数目不同,请参考具体电路手册获取。

若无额外参数,创建PWM对象但未进行初始化(该对象有来自PWM最后一次初始化的设置,若存在的话)。

若给定额外参数,则初始化总线。初始化参数,请参见 init 函数。

提前注意事项

建议在创建PWM对象的同时进行初始化。

machine_pwm.init(freq, duty)[源代码]

初始化PWM的频率和占空比。

参数
  • freq – 频率

  • duty – 占空比, 取值范围为(0,100)

返回

None

machine_pwm.deinit()[源代码]

关闭PWM设备

参数

返回

None

machine_pwm.freq(x)[源代码]

该方法允许设置并获取频率值,这取决于是否提供了参数 x。

如果没有提供参加,则该方法获取当前的频率值;如果提供了参数值,则该方法设置新的频率值

参数

x – 新频率值 或 None

返回

None(提供了参数) 或 int 值(未提供参数)

machine_pwm.duty(x)[源代码]

该方法允许设置并获取占空比值,这取决于是否提供了参数 x。

如果没有提供参加,则该方法获取当前的占空比值;如果提供了参数值,则该方法设置新的占空比值

参数

x – 新频率值 或 None

返回

None(提供了参数) 或 int 值(未提供参数)

machine_pwm.freqduty(freq, duty)[源代码]

同时设置PWM设备的频率和占空比

参数
  • freq – 新频率值

  • freq – 新占空比值

返回

None