|
|
@@ -2,10 +2,10 @@
|
|
|
|
|
|
**machine.PWM** 类是 machine 模块下的一个硬件类,用于指定 PWM 设备的配置和控制,提供对 PWM 设备的操作方法。
|
|
|
|
|
|
-- PWM (Pulse Width Modulation , 脉冲宽度调制) 是一种对模拟信号电平进行数字编码的方式。
|
|
|
-- PWM 设备通过调节有效电平在一个周期信号的比例时间来操作设备。
|
|
|
+- PWM (Pulse Width Modulation,脉冲宽度调制) 是一种对模拟信号电平进行数字编码的方式;
|
|
|
+- PWM 设备可以通过调节有效电平在一个周期信号中的比例时间来操作设备;
|
|
|
- PWM 设备两个重要的参数:频率(freq)和占空比(duty);
|
|
|
- - 频率:从一个上升沿(下降沿)到下一个上升沿(下降沿)的时间周期,单位为 Hz。
|
|
|
+ - 频率:从一个上升沿(下降沿)到下一个上升沿(下降沿)的时间周期,单位为 Hz;
|
|
|
- 占空比:有效电平(通常为电平)在一个周期内的时间比例;
|
|
|
|
|
|
### 构造函数
|
|
|
@@ -16,42 +16,42 @@
|
|
|
|
|
|
在给定的总线上构建一个 `PWM` 对象,参数介绍如下:
|
|
|
|
|
|
-- **id**:使用的 PWM 设备编号,如 `id = 1` 表示使用设备名为 `pwm1` 的设备;
|
|
|
-- **channel**:使用的 PWM 设备通道号,每个 PWM 设备对应多个通道,范围为 [0, 4];
|
|
|
+- **id**:使用的 PWM 设备编号,如 `id = 1` 表示编号为 1 的 PWM 设备;
|
|
|
+- **channel**:使用的 PWM 设备通道号,每个 PWM 设备包含多个通道,范围为 [0, 4];
|
|
|
- **freq**:初始化频率,范围 [1, 156250];
|
|
|
-- **duty**:初始化占空比,范围 [0 255];
|
|
|
+- **duty**:初始化占空比数值,范围 [0 255];
|
|
|
|
|
|
-例如:`PWM(1,4,100,100)` 表示当前使用 `pwm1` 设备通道 4,初始化频率为 1000 Hz,占空比为 100。
|
|
|
+例如:`PWM(1,4,100,100)` 表示当前使用 编号为 1 的 PWM 设备的 4 通道,初始化频率为 1000 Hz,初始化占空比的数值为 100。
|
|
|
|
|
|
### 方法
|
|
|
|
|
|
#### **PWM.init**(channel, freq, duty)
|
|
|
|
|
|
-根据输入的传输初始化 PWM 设备,参数的说明通上述构造函数参数介绍;
|
|
|
+根据输入的参数初始化 PWM 对象,参数说明同上。
|
|
|
|
|
|
#### **PWM.deinit**()
|
|
|
|
|
|
-用于关闭 PWM 设备,设备 deinit 之后需要重新 init 才能使用。
|
|
|
+用于关闭 PWM 对象,对象 deinit 之后需要重新 init 才能使用。
|
|
|
|
|
|
#### **PWM.freq**(freq)
|
|
|
|
|
|
-用于获取或者设置 PWM 设备频率,频率的范围 [1, 156250]。如果无入参,返回当前设备频率值;如果有入参,用于设置当前设备频率;
|
|
|
+用于获取或者设置 PWM 对象的频率,频率的范围为 [1, 156250]。如果参数为空,返回当前 PWM 对象的频率;如果参数非空,则使用该参数设置当前 PWM 对象的频率。
|
|
|
|
|
|
#### **PWM.duty**(duty)
|
|
|
|
|
|
-用于获取或者设置 PWM 设备占空比,占空比的范围 [0, 255]。如果无入参,返回当前设备占空比;如果有入参,用于设置当前设备占空比;
|
|
|
+用于获取或者设置 PWM 对象的占空比数值,占空比数值的范围为 [0, 255],例如 `duty = 100`,表示当前设备占空比为 `100/255 = 39.22%` 。如果参数为空,返回当前 PWM 对象的占空比数值;如果参数非空,则使用该参数设置当前 PWM 对象的占空比数值。
|
|
|
|
|
|
### 示例
|
|
|
|
|
|
``` python
|
|
|
>>> from machine import PWM # 从 machine 导入 PWM 类
|
|
|
->>> pwm = PWM(2,4,1000,100) # 创建 PWM 设备对象
|
|
|
->>> pwm.init(4,1000,100) # 初始化 PWM 设备参数
|
|
|
->>> pwm.freq(2000) # 设置当前设备频率
|
|
|
->>> pwm.freq() # 获取当前设备频率
|
|
|
+>>> pwm = PWM(1, 4, 1000, 100) # 创建 PWM 对象,当前使用编号为 1 的 PWM 设备的 4 通道,初始化的频率为 1000Hz,占空比数值为 100(占空比为 100/255 = 39.22%)
|
|
|
+>>> pwm.freq(2000) # 设置 PWM 对象频率
|
|
|
+>>> pwm.freq() # 获取 PWM 对象频率
|
|
|
2000
|
|
|
->>> pwm.duty(200) # 设置当前设备占空比
|
|
|
->>> pwm.duty() # 获取当前设备占空比
|
|
|
+>>> pwm.duty(200) # 设置 PWM 对象占空比数值
|
|
|
+>>> pwm.duty() # 获取 PWM 对象占空比数值
|
|
|
200
|
|
|
->>> pwm.deinit() # 关闭 PWM 设备
|
|
|
+>>> pwm.deinit() # 关闭 PWM 对象
|
|
|
+>>> pwm.init(4, 1000, 100) # 开启并重新配置 PWM 对象
|
|
|
```
|