ESP32 3.2.8 PWM

2020-07-098952
AI 快速预览详细 收起
本文介绍了ESP32的PWM功能,包括支持PWM的引脚、频率和占空比的设置方法。通过`PWM(pin, freq, duty)`可以初始化PWM,其中`pin`为支持PWM的引脚,`freq`为频率,`duty`为占空比。文章还详细介绍了`pwm.init(freq, duty)`、`pwm.freq([freq_val])`、`pwm.duty([duty_val])`和`pwm.deinit()`等函数的使用方法。通过这些函数,可以轻松设置和控制PWM的频率和占空比。

定义PWM

PWM(pin, freq, duty)

pin:支持PWM的引脚
    Pin(0)、Pin(2)、Pin(4)、Pin(5)、Pin(10)、Pin(12~19)、Pin(21)、Pin(22)、Pin(23)、Pin(25~27)
freq:频率
    0 < freq <= 78125
duty:占空比
    0 ≤ duty ≤ 0x03FF (十进制:0 ≤ duty ≤ 1023)

示例:

from machine import PWM, Pin

pwm = PWM (Pin(2), freq=1000,  duty=1023)

函数

1. PWM.init(freq, duty)

函数说明:初始化PWM。
freq、duty如上所述
示例:

pwm.init(1000, 500)

2. PWM.freq([freq_val])

函数说明:当没有参数时,函数获得并返回PWM频率。当设置参数时,函数用来设置PWM频率,无返回值。

freq_val:PWM波频率
    0 < freq ≤ 0x0001312D(十进制:0 < freq ≤ 78125)

示例:

print(pwm.freq())
print(pwm.freq(2000)

3. PWM.duty([duty_val])

函数说明:没有参数时,函数获得并返回PWM占空比。有参数时,函数用来设置PWM占空比。

duty_val:占空比
    0 ≤ duty ≤ 0x03FF(十进制:0 ≤ duty_val ≤ 1023)

示例:

>>> print(pwm.duty())
50
>>> print(pwm.duty(500))
None

4. PWM.deinit()

函数说明:关闭PWM。
示例:
pwm.deinit()

创作许可协议

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

评论(0)
- 没有更多了 -