1.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芯片。
更丰富的内容请参考——【 树莓派学习笔记——索引博文 】
2.wiringPi安装 wiringPi的安装存在方案A和方案B。wiringPi使用GIT工具维护个更新代码,但是如果处于一些其他原因不能使用GIT,那么也可以使用方案B下载和安装wiringPi。 方案A——使用GIT工具 如果在你的平台上还没有安装GIT工具,可以输入以下命令: sudo apt-get install git-core 如果在这个过程中出现错误,尝试更新软件,例如输入以下指令: sudo apt-get update sudo apt-get upgrade 紧接着可以通过GIT获得wiringPi的源代码 git clone git://git.drogon.net/wiringPi 若需要更新wiringPi。 cd wiringPi git pull origin 进入wiringPi目录并安装wiringPi cd wiringPi ./build build脚本会帮助你编译和安装wiringPi
方案B——直接下载和解压 简单的输入以下网址: https://git.drogon.net/?p=wiringPi;a=summary
图1 下载wiringPi最新版本源代码 点击图中的snapshot便可下载最新版本。 你可能下载到一个名为wiringPi-98bcb20.tar.gz的压缩包,需要助于的是98bcb20只是一个版本号,当你下载wiringPi的时候该版本号可能会发生改变。 你需要解压wiringPi源代码并进行安装,可输入以下指令: tar xfz wiringPi-98bcb20.tar.gz cd wiringPi-98bcb20 ./build 再次说明,wiringPi压缩包的名称 很可能不是98bcb20,请根据实际情况改变。
测试wiringPi是否安装成功 wiringPi包括一套gpio命令,使用gpio命令可以控制树莓派上的各种接口,通过以下指令可以测试wiringPi是否安装成功。 gpio -v gpio readall
图2 测试wiringPi是否安装成功
3.引脚说明 下图是wiringPi的引脚说明,这里需要说明两点。第一树莓派存在版本A和版本B,版本A和版本B的GPIO管脚存在差异;第二,wiringPi对树莓派的管脚重新进行了封装,例如wiringPi的GPIO0意味着BCM2835的GPIO17,这仅仅是一种封装映射关系,不会对开发和使用产生较大的影响。
图3 wiringPi引脚和BCM引脚的映射关系
4.参考资料 1.树莓派学习笔记——GPIO功能学习 2.树莓派学习笔记——I2C使用 PCF8574