GPIO 与 40-pin
Raspberry Pi GPIO与40-pin 对应

任何GPIO引脚都可以在软件中指定为输入或输出,适用广泛用途。

::: warning
GPIO 引脚的编号不按数字顺序排列;板上存在 GPIO 引脚 0 和 1(物理引脚 27 和 28),但保留用于高级用途(见下文)。
:::
Voltages
两个5V引脚、两个3.3V引脚,以及一些不可配置的接地引脚(0V)。意味着输出设置为3.3V,输入为3.3V容差
Outputs
GPIO作为输出,可以设为高(3.3V) 或者低(0V).
Inputs
GPIO作为输入,可以读取为高(3.3V) 或者低(0V)。使用上拉或下拉电阻器可以更轻松地实现。GPIO2 和 GPIO3 固定上拉电阻,其他引脚可以在软件中配置。
More
除了简单的输入和输出设备,GPIO引脚还可以用于各种替代功能,有些可用于所有引脚,有些可用于特定引脚。
PWM (脉冲宽度调制)
Software PWM available on all pins
Hardware PWM available on GPIO12, GPIO13, GPIO18, GPIO19
SPI
SPI0:MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
Data: (GPIO2); Clock (GPIO3)
EPROM Data: (GPIO0); EEPROM Clock (GPIO1)
Serial
TX (GPIO14); RX (GPIO15)
GPIO pinout
可以在终端窗口,运行 pinout 查看参考信息。这工具又 GPIO Zero Python库提供,Raspberry Pi os 默认已经安装。

有关 GPIO 引脚高级功能的更多详细信息,参考.
Permissions
为了能使用GPIO端口,你需要将用户加到 gpio 组。 pi 用户默认是在gpio组中,其他用户需要自己加入。
sudo usermod -a -G gpio
GPIO in Python
GPIO Zero 可以很方便使用python控制GPIO,文档参考.
使用GPIO17 控制led,示例:
from gpiozero import LEDfrom time import sleep led = LED(17) whileTrue: led.on() sleep(1) led.off() sleep(1)
使用 python file 运行示例,Led将反复闪烁和熄灭。
LED 函数包括: on(), off(), toggle(), and blink().
BUTTON
使用GPIO2 读取按键状态,示例:
from gpiozero import Buttonfrom time import sleep button = Button(2) whileTrue: if button.is_pressed: print("Pressed") else: print("Released") sleep(1)
按钮功能包括
属性: is_pressed 、 is_held
回调函数: when_pressed 、 when_released 、 when_held
方法:wait_for_press 、wait_for_release
BUTTON + LED
按钮和LED组合使用:
from gpiozero import LED, Button led = LED(17)button = Button(2) whileTrue: if button.is_pressed: led.on() else: led.off()
或者:
from gpiozero import LED, Button led = LED(17)button = Button(2) whileTrue: button.wait_for_press() led.on() button.wait_for_release() led.off()
or:
from gpiozero import LED, Button led = LED(17)button = Button(2) button.when_pressed = led.onbutton.when_released = led.off
审核编辑黄宇
-
GPIO
+关注
关注
16文章
1313浏览量
55721 -
树莓派
+关注
关注
122文章
2069浏览量
109684
发布评论请先 登录
GPIO_Write(GPIOB, GPIO_Pin_6 | GPIO_Pin_8);是什么意思啊?
GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_3)和GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_3)有什么区别
请问GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3,~GPIO_PIN_3)这是什么意思?
MCC基于树莓派的HAT模块
瑞昱realtek的PHY芯片 RTL8211系列新版区别?
赛昉科技40-Pin GPIO Header用户指南
基于RK3566设计的树莓派3B+(Raspberry Pi 3 Model B+)替代方案
PIC18F448/PIC18F458 pdf datash
【STemWin】STM32H743VI单片机通过LTDC驱动4.3寸800×480高分辨率的40-pin FPC彩屏并裸机移植STemWin图形库
F103_GPIO_输入初始化
STM32f1学习笔记——GPIO
模拟IIC_读写BQ40Z50模块
3.STC15W408AS单片机GPIO
STM32-GPIO详解

GPIO 与 40-pin
评论