【发布时间】:2015-04-23 13:46:12
【问题描述】:
我在 python 中编写了这个简单的测试程序来检查当我按下树莓派中的按钮时是否发生了什么:
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BCM)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)
testVar=0
def my_callback(channel):
print "Pressed!"
testVar= 32
GPIO.add_event_detect(24, GPIO.FALLING, callback=my_callback, bouncetime=200)
while True:
print str(testVar)
sleep(0.5)
我只读取 0 个值,当我按下按钮时,我看到“按下!”但变量没有改变。据我了解,原因是因为回调函数是作为新线程午餐的,当然变量无法正确设置。有没有办法以某种方式将共享 var 发送到回调函数?
非常感谢任何好的建议。
【问题讨论】:
标签: python raspberry-pi gpio raspberry-pi2