在定义的变量上产生的运行时错误(在树莓Pi中)

2024-09-26 22:50:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python 2.7和Raspberry Pi中得到以下运行时错误:

Traceback (most recent call last):
File "ldrmqtt.py", line 96, in <module>
 main()
File "ldrmqtt.py", line 72, in main
 ldrData= rc_time(pin_to_circuit)
File "ldrmqtt.py", line 53, in rc_time
 GPIO.setup(pin_to_circuit, GPIO.OUT)
RuntimeError: Please set pin numbering mode using GPIO.setmode(GPIO.BOARD) or GPIO.setmode(GPIO.BCM)

我已经将一个LDR连接到我的Raspberry Pi,并尝试使用MQTT代理将值发送到Thingspeak。我使用的是python2.7.9

下面是一个代码片段:

^{pr2}$

Tags: toinpygpiotimemainlinepin
2条回答

必须设置GPIO端口的编号模式:

GPIO.setmode(GPIO.BCM)
  1. GPIO.BOARD-电路板编号方案。管脚编号跟随收割台P1上的管脚编号。

  2. GPIO.BCM–Broadcom芯片特定的管脚编号。这些管脚编号遵循由Raspberry Pi的Broadcom芯片大脑定义的低级编号系统。

从错误来看,似乎你需要设置GPIO.setmode. 在

import RPi.GPIO as GPIO  

# for GPIO numbering, choose BCM  
GPIO.setmode(GPIO.BCM)  

# or, for pin numbering, choose BOARD  
GPIO.setmode(GPIO.BOARD)  

# but you can't have both, so only use one!!!  

这里有一篇很好的文章:http://raspi.tv/2013/rpi-gpio-basics-4-setting-up-rpi-gpio-numbering-systems-and-inputs

相关问题 更多 >

    热门问题