RPi.GPIO模块实现PWM
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
p = GPIO.PWM(18, 1000) # 18端口设置成1000Hz
p.start(10) #开启pwm
input("continue:") #随意按下一个键继续执行
p.ChangeFrequency(2000)
p.ChangeDutyCycle(70)
input("exit:") #随意按下就退出
p.stop() #停止pwm
GPIO.cleanup()
主要用到的函数:
-
1、创建实例
p = GPIO.PWM(channel, frequency)
-
2、启动PWM
p.start(dc) # dc 代表占空比(范围:0.0 <= dc >= 100.0)
-
3、更改频率
p.ChangeFrequency(freq) # freq 为设置的新频率,单位为 Hz
-
4、更改占空比
p.ChangeDutyCycle(dc) # 范围:0.0 <= dc >= 100.0
-
5、停止PWM
p.stop()