繁体   English   中英

Raspberry Pi GPIO中断回调变量

[英]Raspberry Pi GPIO Interrupt callback variable

因此,我有一个非常简单的问题,但在这里找不到任何答案。 简而言之,我定义了一个需要一个变量的回调函数,该变量可能会改变。 我是否需要删除该引脚上的事件检测,然后再次添加它以获取与事件关联的回调,以便在下一个事件中使用新的变量值?

def t_doSomething(var):
    print(var)
var = 'foo'
channel = 17
GPIO.add_event_detect(channel, GPIO.RISING, callback=t_doSomething(var) bouncetime=200)
#Event called by rising edge prints 'foo'
#Change the variable.
var = 'bar'
#Event called a second time prints...?

当您说的时候,我认为变量的值可能会改变。 还假设环境不是raspbian Linux(Windows 10 IoT核心等),您应该执行的操作。 更改变量后,再次调用该函数或将其置于某种循环中时。 新的打印值应为“ var”的新值。 因此,下面的#1应该打印“ foo”,而#2应该打印“ bar”。

def t_doSomething(var):
print(var)
GPIO.add_event_detect(channel, GPIO.RISING, callback=t_doSomething(var)bouncetime=200)

var = 'foo'
channel = 17
    #Change the variable.
var = 'bar'
 do_something()
if GPIO.event_detected(channel):
print(var)

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM