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. docker-compose中volumes的问题2. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?3. java - idea如何不显示.idea target这些文件夹4. dockerfile - [docker build image失败- npm install]5. javascript - [,null]是什么用法6. java - 对于jsp技术,aspx技术的困惑7. java - jvm 年轻代 如何回收 survivor 对象8. javascript - vue vue-router 报$router重复定义9. java - spring-data Jpa 不需要执行save 语句,Set字段就可以自动执行保存的方法?求解10. javascript - 移动端H5页面禁止缩放了,在浏览器上仍然可以缩放
