python - RPi.GPIO中wait_for_edge和event_detected有什么區(qū)別?
問題描述
比如說我要監(jiān)聽一個(gè)下降沿觸發(fā)的中斷請求,并且執(zhí)行一段函數(shù),究竟該怎么寫代碼,網(wǎng)上各種文檔都是互相抄襲國外的機(jī)翻文檔,完全無法正常閱讀,請各位高手幫忙解答一下,謝謝?。。?/p>
問題解答
回答1:The wait_for_edge() function is designed to block execution of your program until an edge is detected.
翻譯過來就是wait_for_edge會(huì)阻塞程序,直到有一個(gè)邊沿事件被觸發(fā)
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就是事件觸發(fā)
具體到你這里,要中斷請求,那只能是用事件方式觸發(fā)了。
那第一步是讓接口電阻上拉
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)
相關(guān)文章:
1. angular.js - angularjs的自定義過濾器如何給文字加顏色?2. angular.js - angular內(nèi)容過長展開收起效果3. 關(guān)于docker下的nginx壓力測試4. docker鏡像push報(bào)錯(cuò)5. 關(guān)于nginx location配置的問題,root到底是什么6. linux - openSUSE 上,如何使用 QQ?7. 并發(fā)模型 - python將進(jìn)程池放在裝飾器里為什么不生效也沒報(bào)錯(cuò)8. 大家好,請問在python腳本中怎么用virtualenv激活指定的環(huán)境?9. python的前景到底有大?如果不考慮數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)這塊?10. linux - 升級(jí)到Python3.6后GDB無法正常運(yùn)行?
