gpio引脚介绍 树莓派3b_树莓派的GPIO控制

本文详细介绍了如何使用树莓派的GPIO引脚进行控制,包括GPIO编号方式、准备硬件、接线、多种编程语言(Shell、Python、C)控制GPIO的步骤。通过实际操作点亮LED灯,帮助读者掌握树莓派GPIO的使用方法。
摘要由CSDN通过智能技术生成

96d84580ccd35554f3def5f34a0727a6.png

陈拓chentuo@ms.xab.ac.cn 2018.06.09/2018.06.10

从网上下载了几张精美的图片,感谢图片的制作者!

0. 概述

本文介绍树莓派 Zero W的GPIO控制,并用LED看效果。

0.1 树莓派GPIO编号方式

  • 功能物理引脚

从左到右,从上到下:左边奇数,右边偶数:1-40

33eea9495d9419c3395b93541f6a440a.png
  • BCM

编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号。

  • wiringPi

编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程。如图 WiringPi一栏。

8f39f7b96753254549de111ec51ad0a8.png

操作GPIO时一定先要清楚使用那一套编号。

1. 准备

1.1 硬件

  • 树莓派(我测试了Pi 3B+和Pi Zero W)
  • LED(3mm或5mm)
  • 1KΩ电阻
  • 杜邦线
  • 电脑(我用Windows 7)

1.2 GPIO接口

e79ea91fcdab29fc0c31a2d81f7a90b4.png

1.3 接线

首先我们把LED和树莓派连接。LED的正极串联一个1KΩ电阻接树莓派的GPIO18(pin12),负极接地。

c61418f0b6fb7c2f5efbcfd6d65b1857.png

这个图是用Fritzing画的。

2. 测试

2.1 连接电脑和Pi Zero W

用putty连接电脑和Pi Zero W,看本文最后的参考文档。Host Name填raspberrypi.local,端口22,用户名pi,密码raspberry。

注意:boot分区有一个名为ssh的空文本文件,这个ssh文件容易丢失,如果ssh不能登录了,先检查ssh是否丢失。

2.2 用Shell命令直接控制GPIO

  • 使GPIO18从内核空间暴露到用户空间中

pi@raspberrypi:~ $ sudo echo 18 > /sys/class/gpio/export

> 是IO重定向符号,IO重定向是指改变linux标准输入和输出的默认设备,指向一个用户定义的设备。echo 18 > export就是把18写入到export文件中。

执行该操作之后,/sys/class/gpio目录下会增加一个gpio18文件夹。

树莓派4B的GPIO_NUM对应地址如下: | GPIO_NUM | BCM GPIO | Physical Pin | Address (BCM2835) | | -------- | -------- | ------------ | ----------------- | | 2 | GPIO 2 | Pin 3 | 0x7e215008 | | 3 | GPIO 3 | Pin 5 | 0x7e21500c | | 4 | GPIO 4 | Pin 7 | 0x7e215010 | | 5 | GPIO 5 | Pin 29 | 0x7e215014 | | 6 | GPIO 6 | Pin 31 | 0x7e215018 | | 7 | GPIO 7 | Pin 26 | 0x7e21501c | | 8 | GPIO 8 | Pin 24 | 0x7e215020 | | 9 | GPIO 9 | Pin 21 | 0x7e215024 | | 10 | GPIO 10 | Pin 19 | 0x7e215028 | | 11 | GPIO 11 | Pin 23 | 0x7e21502c | | 12 | GPIO 12 | Pin 32 | 0x7e215030 | | 13 | GPIO 13 | Pin 33 | 0x7e215034 | | 14 | GPIO 14 | Pin 8 | 0x7e215038 | | 15 | GPIO 15 | Pin 10 | 0x7e21503c | | 16 | GPIO 16 | Pin 36 | 0x7e215040 | | 17 | GPIO 17 | Pin 11 | 0x7e215044 | | 18 | GPIO 18 | Pin 12 | 0x7e215048 | | 19 | GPIO 19 | Pin 35 | 0x7e21504c | | 20 | GPIO 20 | Pin 38 | 0x7e215050 | | 21 | GPIO 21 | Pin 40 | 0x7e215054 | | 22 | GPIO 22 | Pin 15 | 0x7e215058 | | 23 | GPIO 23 | Pin 16 | 0x7e21505c | | 24 | GPIO 24 | Pin 18 | 0x7e215060 | | 25 | GPIO 25 | Pin 22 | 0x7e215064 | | 26 | GPIO 26 | Pin 37 | 0x7e215068 | | 27 | GPIO 27 | Pin 13 | 0x7e21506c | | 28 | GPIO 28 | Pin 27 | 0x7e215070 | | 29 | GPIO 29 | Pin 28 | 0x7e215074 | | 30 | GPIO 30 | Pin 3 | 0x7e215078 | | 31 | GPIO 31 | Pin 5 | 0x7e21507c | 其中,BCM GPIO是BCM2835芯片上GPIO的编号,Physical Pin是树莓派4B上引脚的物理编号。地址是BCM2835芯片中GPIO寄存器的地址,可以通过访问这些地址来控制树莓派4B的GPIO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值