machine.PWM 类是 machine 模块下的一个硬件类,用于指定 PWM 设备的配置和控制,提供对 PWM 设备的操作方法。
在 RT-Thread MicroPython 中 PWM 对象的构造函数如下:
在给定的总线上构建一个 PWM 对象,参数介绍如下:
id = 1 表示编号为 1 的 PWM 设备,或者表示使用的 PWM 设备名,如 id = "pwm" 表示设备名为 pwm 的 PWM 设备;例如:PWM(1,4,100,100) 表示当前使用 编号为 1 的 PWM 设备的 4 通道,初始化频率为 1000 Hz,初始化占空比的数值为 100。
根据输入的参数初始化 PWM 对象,参数说明同上。
用于关闭 PWM 对象,对象 deinit 之后需要重新 init 才能使用。
用于获取或者设置 PWM 对象的频率,频率的范围为 [1, 156250]。如果参数为空,返回当前 PWM 对象的频率;如果参数非空,则使用该参数设置当前 PWM 对象的频率。
用于获取或者设置 PWM 对象的占空比数值,占空比数值的范围为 [0, 255],例如 duty = 100,表示当前设备占空比为 100/255 = 39.22% 。如果参数为空,返回当前 PWM 对象的占空比数值;如果参数非空,则使用该参数设置当前 PWM 对象的占空比数值。
>>> from machine import PWM # 从 machine 导入 PWM 类
>>> pwm = PWM(3, 3, 1000, 100) # 创建 PWM 对象,当前使用编号为 3 的 PWM 设备的 3 通道,初始化的频率为 1000Hz,占空比数值为 100(占空比为 100/255 = 39.22%)
>>> pwm.freq(2000) # 设置 PWM 对象频率
>>> pwm.freq() # 获取 PWM 对象频率
2000
>>> pwm.duty(200) # 设置 PWM 对象占空比数值
>>> pwm.duty() # 获取 PWM 对象占空比数值
200
>>> pwm.deinit() # 关闭 PWM 对象
>>> pwm.init(3, 1000, 100) # 开启并重新配置 PWM 对象