GPIO接口
编号方式
3.3V、5V(VCC):电源正极
GND:接地用,负极负极负极
SDA.0、SDA.1:这个是 I2C(I方C)总线数据传输口
SCL.0、SCL.1:I2C总线的时钟信号
GPIO.x(x = 0,1,2,3,4,5,6,7;21,22,23,24,25,26,27,28,29):通用输入输出接口,GPIO端口,可通过软件分别配置成输入或输出
TXD:用来发送数据
RXD:用来接收数据(一般用于单片机与计算机或者芯片通信,单片机与计算机进行串口通信时,单片机的RXD接计算机的TXD,单片机的TXD接计算机的RXD。详解:https://blog.youkuaiyun.com/sdwuyulunbi/article/details/6632382)
MOSI:主输出 从输入
MISO:主输入 从输出
SCLK:系统时钟,指晶振频率
CE0、CE1:片选信号(芯片有效)-表示低电平有效
在实际使用中,许多项目还需要一些不同的功能。因此树莓派的一些GPIO引脚具有I2C、SPI和UART接口等双重功能,与树莓派3B+相比,树莓派4 支持这些功能的接口增加了,使许多引脚的功能得到了扩展。下面是对每种功能做一下简要的描述。
I2C接口
I2C是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。树莓派通过I2C接口可控制多个传感器和组件。它们的通信是通过SDA(数据引脚)和SCL(时钟速度引脚)来完成的。每个从设备都有一个唯一的地址,允许与许多设备间快速通信。ID_EEPROM引脚也是I2C协议,它用于与HATs通信。
SPI接口
SPI是串行外设接口,用于控制具有主从关系的组件,采用从进主出和主进从出的方式工作,树莓派上SPI由SCLK、MOSI、MISO接口组成,SCLK用于控制数据速度,MOSI将数据从树莓派发送到所连接的设备,而MISO则相反。
UART接口
有使用Arduino的朋友一定听说过UART或Serial,通用异步收/发器接口用于将Arduino连接到为其编程的计算机上,也用于其他设备与 RX 和 TX 引脚之间的通信。如果树莓派在 raspi-config 中启用了串口终端,则可以使用这些引脚通过电脑来控制树莓派,也可以直接用于控制Arduino。
PWM接口
在树莓派上,所有的引脚都可以实现软件PWM,而GPIO12、GPIO13、GPIO18、GPIO19可以实现硬件脉宽调制。关于PWM可阅读 什么是PWM 这篇文章。
python下使用GPIO
导入模块
import RPi.GPIO as GPIO
设置引脚引用模式
GPIO.setmode(GPIO.BOARD)
#or
GPIO.setmode(GPIO.BCM)
检测使用的哪种模式可以使用