python - RPi.GPIO中wait_for_edge和event_detected有什么區別?
問題描述
比如說我要監聽一個下降沿觸發的中斷請求,并且執行一段函數,究竟該怎么寫代碼,網上各種文檔都是互相抄襲國外的機翻文檔,完全無法正常閱讀,請各位高手幫忙解答一下,謝謝!!!
問題解答
回答1:The wait_for_edge() function is designed to block execution of your program until an edge is detected.
翻譯過來就是wait_for_edge會阻塞程序,直到有一個邊沿事件被觸發
The event_detected() function is designed to be used in a loop with other things, but unlike polling it is not going to miss the change in state of an input while the CPU is busy working on other things.
event_detected就是事件觸發
具體到你這里,要中斷請求,那只能是用事件方式觸發了。
那第一步是讓接口電阻上拉
GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP)
然后
GPIO.add_event_detect(channel, GPIO.FALLING)GPIO.add_event_callback(channel, callback_func)
相關文章:
1. win10 python3.5 matplotlib使用報錯2. 數組排序,并把排序后的值存入到新數組中3. html5 - css3scale和rotate同時使用轉換成matrix寫法該如何轉換?4. MySQL的聯合查詢[union]有什么實際的用處5. php多任務倒計時求助6. html - css3關于透明度的問題7. python的正則怎么同時匹配兩個不同結果?8. 默認輸出類型為json,如何輸出html9. mysql 遠程連接出錯10060,我已經設置了任意主機了。。。10. 為何 localStorage、sessionStorage 屬于html5的范疇,但是為何 IE8卻支持?
