基本上我正在觀察某種變化的邏輯電平,然後計算持續時間有多長。由於我有許多不同的線路可供觀看,因此我開始爲每條線路創建一個功能。所以我想,爲什麼不根據觸發的線創建一個使用不同參數的函數。在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