python - RPi.GPIO中wait_for_edge和event_detected有什么區別?
問題描述
比如說我要監聽一個下降沿觸發的中斷請求,并且執行一段函數,究竟該怎么寫代碼,網上各種文檔都是互相抄襲國外的機翻文檔,完全無法正常閱讀,請各位高手幫忙解答一下,謝謝?。。?/p>
問題解答
回答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. docker 17.03 怎么配置 registry mirror ?2. angular.js - angularJS service里面存儲的數據能夠直接和HTML頁面交互嗎?3. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應4. javascript - 七牛接口如何在前端調用?5. css3里rotate怎么實現如圖的效果6. html - chrome 下 transiton translateX(10px) 后字體變化7. javascript - 使用location.href進行頁面跳轉時,并不立即跳轉?8. javascript - 圖片請求失敗怎么去掉左上角的小圖標?9. css3 - 何時需要 flex-basis: 100% ?10. mysqld無法關閉
