GPIO之wait_for_edge()函数

GPIO之wait_for_edge()函数

#函数:wait_for_edge(channel, status) 
#参数说明:
参数说明可选项
channel传感器引脚
status要检测的状态GPIO.RISING, GPIO.FALLING, GPIO.BOTH
其中GPIO.RISING表示电压由低变高;GPIO.FALLING表示电压由高变低;GPIO.BOTH表示两者都检测。
#实验案例参考:http://www.shumeijiang.com/2020/03/15/gpio之边沿检测/
#实验代码:
实验代码
执行代码可见效果:
1、代码执行可见屏幕输出“准备开始接收”,然后主线程进入阻塞状态,由于没有其他线程所以进程进入阻塞状态;
2、当用手指放置在传感器触摸板上,并持续放置时,可见屏幕输出“发现低电压变化高电压”,即检测到触摸动作;
3、当手指从传感器触摸板离开时,可见屏幕输出“发现高电压变化低电压”,即传感器感知到触摸结束。
#结论
  • 函数是阻塞形式;
  • 函数不需while循环检测,检测到即可触发进程继续进行;
  • 函数可检测电压由低变高,可检测电压由高变低,也可检测发现变压变化即触发。

!/usr/bin/env python
coding:utf-8
'''
from JiuJiang
树莓酱的操作实例
http:://www.shumeijiang.com
'''

import RPi.GPIO as GPIO  ##引入GPIO模块
import time              ##引入time库
touchPin = 18

GPIO.setmode(GPIO.BCM)
GPIO.setup(touchPin, GPIO.IN)
print '准备开始接收'

GPIO.wait_for_edge(touchPin, GPIO.RISING)
print '发现低电压变化高电压'

GPIO.wait_for_edge(touchPin, GPIO.FALLING)
print '发现高电压变化低电压'
#官方函数定义见如下截图:
jiujiang

目前为止有一条评论

cadmin 发布于下午8:04 - 2020年5月12日

good

评论已关闭。

评论已关闭。