树莓派学习笔记5-GPIO使用

树莓派GPIO使用

前言

树莓派作为一款linux开发板,除了可以烧录系统作为卡片电脑使用,当然也具备了开发板的通用功能,如:GPIO、Uart、IIC等。
下面记录一下几种使用树莓派GPIO的方式。

查看IO口的方法

树莓派的引脚定义分为
1、通用序号
2、BCM码
3、wPi码
查看序号排布可以使用以下命令

pinout

如图就是树莓派的引脚排布,使用的是从左到右,从上到下的引脚排布

在这里插入图片描述
想查看树莓派的所有编码,可以使用以下命令

gpio readall

注意:
由于wiringpi 的作者已经很久没有更新了,新版的树莓派可能存在无法使用上述命令的情况(gpio readall),可以通过以下方法进行解决。
进去tmp目录(临时文件目录)

cd tmp

获取新的包

wget https://project-downloads.drogon.net/wiringpi-latest.deb

解析

sudo dpkg -i wiringpi-latest.deb

成功后就可以正常的使用gpio readall命令了
如图就是树莓派的引脚排布(全)
在这里插入图片描述

GPIO使用方式

第一种:
直接通过终端进行调用
在终端按序输入以下命令

gpio -g mode 4 out //将BCM码的4号引脚设置为输出模式
gpio -g write 4 1  //输出高电平
gpio -g write 4 0  //输出低

该方法可以对树莓派进行简单的GPIO操作,但是缺点是麻烦
第二种
可以使用python对树莓派的GPIO进行控制,这也是大多数人使用的方式
首先使用以下命令进行下载python的gpio包

sudo apt-get install python-rpi.gpio

在这里插入图片描述

随后进行如下python代码编写,可以在控制台使用nano、vim,也可以使用树莓派的默认IDE进行代码编写

import RPi.GPIO as GPIO	#导入GPIO包
import time				#导入定时器包
GPIO.setmode(GPIO.BCM)	#设置编码,使用BCM码
GPIO.setup(4, GPIO.OUT)	#设置引脚为输出模式
#低高电平死循环
while True:	
	GPIO.output(4,False)
	time.sleep(3)
	GPIO.output(4,1)
	time.sleep(3)
GPIO.cleanup()			#释放GPIO资源

结果如下:

在这里插入图片描述
由于麻烦,视频懒得上传了,效果是间隔3s的闪烁效果。
(出现警告可以忽略,程序依旧可以正常进行,警告原因未了解)

第三种
使用wiringpi进行编程,这种编程方式可以使用C/C++进行代码编写
前面已经配置好了wiringpi 的库,可以在终端使用nano、vim编写在进行cmake,也可以直接在树莓派提供的IDE进行编写

#include <wiringPi.h>
int main( )
{
    // 初始化wiringPi
    wiringPiSetup();
	//设置引脚为输出模式
    pinMode(7, OUTPUT);
	//延时为500ms的LED闪烁
	while(1)
	{
		digitalWrite(7, HIGH); delay(500);
		digitalWrite(7, LOW); delay(500);
	}
    return 0;
}

注意:在使用IDE进行编写运行时,无法成功的生成可执行文件,报错找不到wiringpi的相关函数,尝试在终端也是一样的情况,查询后了解需要在生成可执行文件时候添加-lwiringPi的命令
如下会在对应目录生成一个可执行文件
在这里插入图片描述
随后可以使用./可执行文件名 的方式进行运行,也可以使用IDE直接点击运行,如果想直接在IDE进行构建可能需要修改构建代码或者怎么makefile,后面再进行尝试。

结尾

至此,使用三种方式进行树莓派点灯完成,又是新的开始。

来自5分钟后的补充
刚提交发布后进行尝试,发现可以直接修改IDE的编译命令,如图:

在这里插入图片描述
只需要在红框中的命令的“%e”后面添加 -lwiringPi 即可,别忘了加空格,至此,可以顺利构建生成可执行文件了。

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值