GPIO 引脚没有错误但没有得到预期的结果?
GPIO pins no errors but not getting the expected result?
抱歉,我是 Raspberry Pi 和 python 的初学者。我正在编写一个简单的 python 程序来使用脉冲宽度调制器,这是代码。
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(12,GPIO.OUT)
pwm=GPIO.PWM(12,50)
pwm.start(0)
while True:
for i in range(50):
pwm.ChangeDutyCycle(i)
time.sleep(0.05)
for i in range(50,0,-1):
pwm.ChangeDutyCycle(i)
time.sleep(0.05)
我用合适的电阻连接了 12 和地之间的 LED。但是当我执行时,我没有收到任何错误,但它不会工作。
代码似乎在我的 Rpi-3 上运行良好。因此,如果我们看不到电路设计,我们将无法帮助您。我可以猜测您可能使用了正常编号来连接 LED,但在您的程序中使用了 BCM 编号。因此,要么将其更改为 GPIO.setmode(GPIO.BOARD)
的板编号,要么参考下表以获取正确的数字。
我明白了。我需要使用正确的编号。有两种编号的原因是,
GPIO.BOARD 选项指定您通过插头的引脚编号来指代引脚 - 即印刷在电路板上的数字(例如 P1)。
GPIO.BCM 选项意味着您通过 "Broadcom SOC channel" 编号引用引脚。
希望对大家有所帮助。
抱歉,我是 Raspberry Pi 和 python 的初学者。我正在编写一个简单的 python 程序来使用脉冲宽度调制器,这是代码。
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(12,GPIO.OUT)
pwm=GPIO.PWM(12,50)
pwm.start(0)
while True:
for i in range(50):
pwm.ChangeDutyCycle(i)
time.sleep(0.05)
for i in range(50,0,-1):
pwm.ChangeDutyCycle(i)
time.sleep(0.05)
我用合适的电阻连接了 12 和地之间的 LED。但是当我执行时,我没有收到任何错误,但它不会工作。
代码似乎在我的 Rpi-3 上运行良好。因此,如果我们看不到电路设计,我们将无法帮助您。我可以猜测您可能使用了正常编号来连接 LED,但在您的程序中使用了 BCM 编号。因此,要么将其更改为 GPIO.setmode(GPIO.BOARD)
的板编号,要么参考下表以获取正确的数字。
我明白了。我需要使用正确的编号。有两种编号的原因是,
GPIO.BOARD 选项指定您通过插头的引脚编号来指代引脚 - 即印刷在电路板上的数字(例如 P1)。
GPIO.BCM 选项意味着您通过 "Broadcom SOC channel" 编号引用引脚。
希望对大家有所帮助。