1、导入模块

import RPi.GPIO as GPIO

2、设置引脚排列方式

1、主板编号方式
GPIO.setmode(GPIO.BOARD)
就是按照主板的引脚顺序:
1.png
注意有些引脚是没有GPIO功能的,这些引脚仍然为它们分配了序号,但控制时使用这些非GPIO的序号是会报错的。

2、BCM编号方式
GPIO.setmode(GPIO.BCM)
按照BCM方式编号。
2.jpg

3、设置某个引脚的输入输出

GPIO.setup([gpio], GPIO.[dir])
[GPIO]是一个引脚的序号,按照上面的编号方式决定。
GPIO.[dir]是方向,可以设置:

GPIO.IN 输入
GPIO.OUT 输出

同时设置多个通道:
chan_list = [[gpio1], [gpio2], …]
GPIO.setup(chan_list, GPIO_[dir]]

4、输入

GPIO.input([gpio])
获取指定通道的电平,返回的是一个数值,0或1。

5、输出

单通道输出:
GPIO.output([gpio], GPIO.[level])
[gpio]是一个引脚的序号,按照上面的编号方式决定。
GPIO.[level]是引脚的电平:

GPIO.LOW 低电平
GPIO.HIGH 高电平(3.3v)

同时设置多通道输出:
chan_list = [[gpio1], [gpio2], …]
GPIO.output(chan_list, (GPIO.HIGH, GPIO.LOW, …))
第一个参数是list,第二个参数是tuple。

python控制GPIO的速度

设置python控制一个GPIO循环输出高低电平(不加延时),波形如下:
3.png

高低电平切换响应速度大约2us。
但是注意,由于python是在上层运行的,所以波形输出不太稳定,上面是最理想的状态,实际上程序会受到影响,波形输出不稳定。


本站所有文章欢迎转载,但请保留作者信息和原文地址。

Comments