此篇为 《树莓派使用基础》 中,RPIGPIO Input功能高级应用技巧。GPIO的简单使用请参考博文 树莓派3B+ GPIO输入输出使用
目前有几种途径可以在程序中获得 GPIO 的输入信息。
如果在输入针脚上没有连接任何元件,那么它将是“浮动(float)”的。换句话说,因为没有连接任何元件,在按下按钮或开关之前,读取的值是没有意义的。由于电源的波动,获取到的值可能会有很大的变化。
为了解决这个问题,我们需要使用 上拉/下拉电阻 。这样,我们就可设定输入的默认值了。在这里,可以使用硬件或软件对电阻进行上拉/下拉。使用硬件方式,将一个 10K 的电阻连接在输入通道与 33V(上拉)或 0V(下拉)之间是常用的做法。而 RPiGPIO 也允许您通过软件的方式对配置 Broadcom SOC 来达到目的:
或者
通道编号是基于所使用的编号系统所指定的(BOARD 或 BCM)。
边缘的定义为电信号从 LOW 到 HIGH(上升临界值)或从 HIGH 到 LOW(下降临界值)状态的改变。正常情况下,对于输入的值来说,我们更关心的是输入的状态是否发生了改变。这种状态上的改变是很重要的。
为了避免程序在忙于处理其它的事物时而错过了按下按钮的 *** 作,这里有两种方法可以解决:
注意,可以输入 GPIORISING、GPIOFALLING、GPIOBOTH 对边缘进行检测。这种方式的优点是占用 CPU 资源很少,因此系统可以有充裕的资源处理其它事物。
RPiGPIO 在第二条线程中执行回调函数。这意味着回调函数可以同您的主程序同时运行,并且可以立即对边缘进行响应。例如:
如果需要多个回调函数:
注意,在该示例中,回调函数为顺序运行而不是同时运行。这是因为当前只有一个进程供回调使用,而回调的运行顺序是依据它们被定义的顺序。
可能会注意到,每次按钮按下时,回调 *** 作被调用不止一次。这种现象被称作“开关抖动(switch bounce)”。这里有两种方法解决开关抖动问题:
或者
由于某种原因,若不希望程序检测边缘事件,可以将它停止:
原文链接
参考链接
树莓派教程(持续更新)百度网盘免费资源在线学习
wuuj
树莓派教程(持续更新) 中谷教育-Python视频教程(完整版)
游戏镜像 微雪5寸显示器config 树莓派详细资料 视频教程 镜像 Voice kit语音工具包镜像 Etcher-Setup-144-x86镜像烧录工具
exeaiyprojects-2018-04-13imgxz 开启SSH-raspbian-stretchzip ubuntu-mate-16042-desktop-armhf-raspberry-piimgxz StickyFingers-Kali-Pi-armhf-180923imgxz recalboxOS-400-beta5zip 2018-11-13-raspbian-stretchzip
以上就是关于树莓派 GPIO Input 部分高级应用技巧全部的内容,包括:树莓派 GPIO Input 部分高级应用技巧、学习树莓派上编程的时候,需要哪些教程、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)