树莓派的C语言开发好搭档WiringPi库
【摘要】
树莓派的C语言开发好搭档WiringPi库
一、准备工作
1、3b开发板一块,通电,连接上家里的无线网络。
2、打开VNC软件,连接上开发板。
二、WiringPi介绍
WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如pyt...
树莓派的C语言开发好搭档WiringPi库
一、准备工作
1、3b开发板一块,通电,连接上家里的无线网络。
2、打开VNC软件,连接上开发板。
二、WiringPi介绍
WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。WiringPi中的函数类似于Arduino的wiring系统,这使得熟悉arduino的用户使用wringPi更为方便。
树莓派具有26个普通输入和输出引脚。在这26个引脚中具有8个普通输入和输出管脚,这8个引脚既可以作为输入管脚也可以作为输出管脚。除此之外,树莓派还有一个2线形式的I2C、一个4线形式的SPI和一个UART接口。树莓派上的I2C和SPI接口也可以作为普通端口使用。如果串口控制台被关闭便可以使用树莓派上的UART功能。如果不使用I2C,SPI和UART等复用接口,那么树莓派总共具有8+2+5+2 =17个普通IO。wiringPi包括一套gpio控制命令,使用gpio命令可以控制树莓派GPIO管脚。用户可以利用gpio命令通过shell脚本控制或查询GPIO管脚。wiringPi是可以扩展的,可以利用wiringPi的内部模块扩展模拟量输入芯片,可以使用MCP23x17/MCP23x08(I2C 或者SPI)扩展GPIO接口。另外可通过树莓派上的串口和Atmega(例如arduino等)扩展更多的GPIO功能。另外,用户可以自己编写扩展模块并把自定义的扩展模块集成到wiringPi中。WiringPi支持模拟量的读取和设置功能,不过在树莓派上并没有模拟量设备。但是使用WiringPi中的软件模块却可以轻松地应用AD或DA芯片。
三、WiringPi 安装
如果在你的树莓派上还没有安装 git 工具,请输入以下命令安装:
sudo apt-get install git-core
如果在过程中出现错误,尝试更新软件源:
sudo apt-get update
接着通过 git 在线获得wiringPi的源代码,输入命令:
git clone git://git.drogon.net/wiringPi
①、执行命令下载到本地
②、安装wiringPi
进入wiringPi目录并安装wiringPi库
cd wiringPi
./build
build脚本将会自动完成wiringPi库的编译和安装,安装完成如下....
③、查看是否安装成功,输入gpio -v 显示下面的版本信息说明安装成功
④、查看gpio管脚图
树莓派内核中已经编译自带了gpio的驱动,我们常通过一些第三方写好的库函数来完成具体的操作,比较常见的操作库函数有:
1、python GPIO
【开发语言】——python
【简单介绍】——树莓派官方资料中推荐且容易上手。python GPIO是一个小型的python库,可以帮助用户完成raspberry相关IO口操作,但是python GPIO库还没有支持SPI、I2C或者1-wire等总线接口。
【官方网站】—— https://code.google.com/p/raspberry-gpio-python/
2、wiringPi
【开发语言】——C语言
【简单介绍】——wiringPi适合那些具有C语言基础,在接触树莓派之前已经接触过单片机或者嵌入式开发的人群。wiringPi的API函数和arduino非常相似,这也使得它广受欢迎。作者给出了大量的说明和示例代码,这些示例代码也包括UART设备,I2C设备和SPI设备等。
【官方网站】—— http://wiringpi.com/
3、BCM2835 C Library
【开发语言】——C语言
【简单介绍】BCM2835 C Library可以理解为使用C语言实现的相关底层驱动,BCM2835 C Library的驱动库包括GPIO、SPI和UART等,可以通过学习BCM2835 C Library熟悉BCM2835相关的寄存器操作。如果有机会开发树莓派上的linux驱动,或自主开发python或PHP扩展驱动,可以从BCM2835 C Library找到不少的“灵感”。
【官方网站】—— http://www.airspayce.com/mikem/bcm2835/
树莓派GPIO编号方式
1、功能物理引脚:
从左到右,从上到下:左边基数,右边偶数:1-40
2、BCM:
编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号。3、wpi:
编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程。正如图3 WiringPi一栏。
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/80286548
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)