【树莓派4B测评】树莓派4引脚功能以及操作方法

[复制链接]

本帖最后由 lb8820265 于 2020-9-23 22:35 编辑

树莓派与其他PC类的Linux系统最大的区别就是树莓派拥有众多的外设接口,包括GPIO、SPI、I2C、UART、PWM。可以连接更多的硬件,下图是树莓派支持的外设图:

python 树莓派针脚 树莓派4针脚定义_树莓派

raspberry-pi-pinout.png (25.65 KB, 下载次数: 0)

2020-9-23 22:26 上传

由于树莓派操作外设接口并不是直接操作寄存器,而是调用第三方库,从这个方面来说树莓派并不能完全称之为开源。

命名方案

树莓派接口的有三种命名方案:

1. WiringPi 编号

2. BCM编号

3. 物理编号(Physical – Number)

WiringPi 编号是功能接线的引脚号(如TXD、PWM0等等);BCM编号是 Broadcom 针脚号,也即是通常称的GPIO;物理编号是PCB板上针脚的物理位置对应的编号(1~40)。详细如下所示。

python 树莓派针脚 树莓派4针脚定义_树莓派

rpi-pins-40-0.png (206.08 KB, 下载次数: 0)

2020-9-23 22:26 上传

操作接口主要有两种库:Python GPIO库和WiringPi库。

Python库:

Python GPIO已经集成到了树莓派内核,为树莓派官方资料中推荐且容易上手。PythonGPIO是一个小型的Python库,可以帮助用户完成raspberry相关IO口操作,比如引脚电平输入,电平输出,外部电平中断检测,PWM输出。但是PythonGPIO库还没有支持SPI、I2C等总线接口。

树莓派默认是安装了PythonGPIO库,如果没有可以输入:

Sudo apt-get install python-rpi.gpio

打开Thonny输入如下代码:

import RPi.GPIO as GPIO
import time
# BOARD编号方式,基于插座引脚编号
GPIO.setmode(GPIO.BOARD)
# 输出模式
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, GPIO.HIGH)
time.sleep(1)
GPIO.output(11, GPIO.LOW)
time.sleep(1)

作用为让11号物理引脚电平每秒翻转一次。

想了解更多可以访问官方的例程库:

WiringPi库:

树莓派操作系统默认安装了wiringpi,如果没有,输入如下命令:

sudo apt-get install wiringpi

wiringPi适合那些具有C语言基础,在接触树莓派之前已经接触过单片机或者嵌入式开发的人群。可以操作所有的外设接口。

在文档编辑器中输入如下代码:

#include 
int main (void)
{
wiringPiSetup () ;
pinMode (0, OUTPUT) ;//0是指WiringPi编号0,等于物理编号11
for (;;)
{
digitalWrite (0, HIGH) ; delay (500) ;
digitalWrite (0, LOW) ; delay (500) ;
}
return 0 ;
}

保存为blink.c,然后在终端中输入如下代码:

gcc -Wall -o blink blink.c -lwiringPi
sudo ./blink

该代码的效果就是将物理引脚11引脚一秒翻转一次。

想了解更多可以访问官方的例程库: