基本上我正在观察某种变化的逻辑电平,然后计算持续时间有多长。由于我有许多不同的线路可供观看,因此我开始为每条线路创建一个功能。所以我想,为什么不根据触发的线创建一个使用不同参数的函数。在Python中,如何在线程回调中传递参数?
def myCallBack(pin, bool, Ftimer, Etimer):
## some more code here for checking bools and using timers
GPIO.add_event_detect(pin1, GPIO.both, callback=myCallBack(pin1, bool1, Ftimer1, Etimer1), bouncetime=200)
GPIO.add_event_detect(pin2, GPIO.both, callback=myCallBack(pin2, bool2, Ftimer2, Etimer2), bouncetime=200)
...
目前,我得到错误“类型错误:参数必须是可调用的” 是这种做法甚至可能吗?我是否以正确的方式去做这件事? 任何帮助,将不胜感激。 谢谢。
我仍然'TypeError:Parameter必须可调用' 我做了一些更深入的Partial,发现您可以在创建部分对象或调用它时添加参数。无论哪种方式,我仍然得到错误。 如果我只是调用myCallBack,它会运行该功能就好了。当我从GPIO.add_event_detect – Matt 2015-04-02 21:38:13
@MattMumm中调用它时,似乎有问题您可以尝试上面的第二种方法吗? – matsjoyce 2015-04-03 17:32:52
对不起,由于某种原因我错过了。 刚刚尝试过,它与您建议的第一种方法具有相同的反应。 – Matt 2015-04-06 21:12:56