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
如果你第一次使用克隆操作,请输入以下指令,这些指令会帮助你更新版本。
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

树莓派学习笔记——wiringPi简介、安装和管脚说明相关推荐

  1. 树莓派学习笔记—— 源代码方式安装opencv

    0.前言 本文介绍如何在树莓派中通过编译源代码的方式安装opencv,并通过一个简单的例子说明如何使用opencv. 更多内容请参考--[树莓派学习笔记--索引博文] 1.下载若干依赖项 在开始安装之 ...

  2. 树莓派学习笔记——wiringPi I2C设备使用详解

    1.前言 最近认真学习了树莓派,从浅到深认真分析了wiringPi实现代码,借助树莓派学习linux收获颇丰.深入学习linux一段时间后发现它非常有魅力,一个简单的IO口输出操作尽有那么多的&quo ...

  3. MongoDB学习笔记(一)简介+安装+基本CRUD+索引

    思维导图 文章目录 思维导图 1. MongoDB相关概念 1.1 业务应用场景 1.1.1 三高需求 1.1.2 何时选择MongoDB 1.2 MongoDB简介 1.3 体系结构 1.4 数据模 ...

  4. 树莓派学习笔记——GPIO功能学习

    0.前言 树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个. [ python GPIO ] [开发语言] ...

  5. 树莓派学习笔记——I2C设备载入和速率设置

    1.载入设备 方法1--临时载入设备 sudo modprobe -r i2c_bcm2708 #卸载设备 -r代表removesudo modprobe i2c_bcm2708 #重新载入设备 方法 ...

  6. 树莓派学习笔记——yeelink 远程控制LED

    1.前言 前段时间玩了树莓派的GPIO,串口和I2C接口,把树莓派当成单片机来玩,期间深入分析了wiringPi.相对于单片机,以Linux为操作系统的树莓派在网络功能方面要强大的多,下面就结合当下流 ...

  7. 树莓派学习笔记(一)

    树莓派学习笔记 笔记来自B站UP主[树小悉]的树莓派系列视频的听课笔记,通俗易懂,风趣幽默,适合新手入门,强烈推荐!!! 关机命令 sudo poweroff 关闭电源 sodo shutdown - ...

  8. 树莓派学习笔记——Wifi AP热点模式 使用RT5370

    0.前言 本文详细说明为树莓派增加Wifi AP热点功能的具体步骤.配置完成之后,树莓派将增加一个Wifi热点功能,使用笔记本或手机便可连接树莓派,树莓派具有了AP热点功能,可更一步扩展树莓派相关的W ...

  9. 树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

    一.家庭服务器实现的主要功能 http://www.cnblogs.com/xiaowuyi/p/4051238.html 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面的媒体文件. ...

最新文章

  1. (转)es 聚合查询并返回每个组的数据
  2. 台湾游戏企业抢滩大陆 研发成竞争核心
  3. hpsocket java代码_HPSocket介绍与使用
  4. python 嵌套异常
  5. ScreenPad 是什么
  6. java浏览器渲染_优化浏览器渲染
  7. Facade模式简述
  8. ​LeetCode刷题实战507:完美数
  9. mysql 去除全角空格_去掉全角空格
  10. Infor SyteLine ERP 客户端使用设置
  11. MySQL之MVCC原理
  12. face.evoLVe 人脸比对测试
  13. 化学反应中的能量变化
  14. 深度学习入门笔记(九):深度学习数据处理
  15. 如何用Unity Shader制作类似《炉石传说》卡牌的动态效果?
  16. 正义之心读书笔记:第7章 自由和保守主义的本质——5大道德基础
  17. python对numpy数组求导_NumPy数组计算——python
  18. 一文MOS管串联并联驱动应用解析-KIA MOS管
  19. 唐伯猫:论强势文化与弱势文化
  20. codeup《算法笔记》题目索引(题目+答案+思路)

热门文章

  1. [分享] 网页设计者值得一去的地方
  2. 关于低碳物流中心选址问题的MATLAB遗传算法
  3. 常见三维文件格式之STL, VRML, X3D
  4. Flash独立游戏人必备开源库大全
  5. 把Chrome 已安装的插件打包成 crx
  6. 2012年考博英语参考书大比拼,华慧考博新东方占前三甲
  7. TI_BLE软件开发者指导4——链路层(笔记)
  8. 天下3最新服务器列表,天下3_网络游戏专区_腾讯游戏频道
  9. H5+ app自动更新思路
  10. 硬件工程师充电心得--嵌入式软件工程师学习路线