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功能。
安装
直接apt-get就可以。方便快捷。
sudo apt-get install wiringPi

测试wiringPi是否安装成功

gpio -v
gpio readall

输出以下即为安装成功。

wiringPi对于GPIO引脚的标号定义参照上图的wPi列。

第一个GPIO程序

在GPIO.17(wPi编号0)引脚连一个发光二极管,用来观测引脚电平的变化。新建一个目录,新建一个名为test.c的文件。内容如下:

#include<wiringPi.h>int main()
{wiringPiSetup();pinMode(0,OUTPUT);while (1){digitalWrite(0,HIGH);delay(500);digitalWrite(0,LOW); delay(500);}return 0;
}

然后通过gcc编译。-lwiringPi表示动态加载wiringPi共享库

gcc test.c -lwiringPisudo ./a.out

程序顺利运行。使用Ctrl+c结束程序。

转载于:https://www.cnblogs.com/evan-oi/p/4982866.html

树莓派学习路程No.2 GPIO功能初识 wiringPi安装相关推荐

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

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

  2. 【树莓派学习笔记】三、点亮一个LED灯(C语言 - WiringPi、Python - RPi.GPIO/GPIO Zero、bash脚本)

    目录 C语言 WiringPi Python RPi.GPIO GPIO Zero bash脚本 平台:树莓派3B 版本: 2021-05-07-raspios-buster-armhf 若GPIO输 ...

  3. STM32开发板学习——GPIO功能、5v兼容口

    GPIO功能 (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉 ...

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

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

  5. 树莓派学习笔记——wiringPi简介、安装和管脚说明

    1.WiringPi简介 WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3.wiringPi使用C或者C++开发并且可以被其他语言包转,例如python.ru ...

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

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

  7. 如何写一个树莓派的驱动来控制GPIO LED

    一直以来,物联网开发者面对新的硬件都是一件头痛的事情.有些时候明明有现成的驱动,我们却没法直接利用.公司的PM/领导一句话下来,整套系统就要从新来,说明书一看就是一天,重复的软硬联调,日复一日的造轮子 ...

  8. 树莓派学习笔记(五)——烟雾浓度检测(ONENET云平台收发数据代码)

    文章目录 前言 一.硬件连接 MQ-2 PCF8591 二.Onenet平台数据收发程序 onenetsub.py onenetget.py 三.程序 树莓派开启iic功能 完整程序 OneNet界面 ...

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

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

  10. 《树莓派学习指南(基于Linux)》——第 2 章 开始探索 2.1 欢迎使用LXDE

    本节书摘来自异步社区<树莓派学习指南(基于Linux)>一书中的第2章,第2.1节,作者[英]Peter Membrey ,[澳]David Hows ,译者 张志博,孙峻文,更多章节内容 ...

最新文章

  1. centos7下没有iptables进行安装或更新
  2. 博弈论速成指南:那些融入深度学习的经典想法和新思路
  3. Computer:计算机测试理论(开发/测试/上线)之DEV、SIT、UAT、PRD四套环境详细介绍之详细攻略
  4. 东南大学数字信号处理实验_【鹏城实验室校招】数字信号处理助理研究员
  5. javascript php xmlhttp file,xmlHTTP实例_javascript技巧
  6. OJ1034: 夏季促销
  7. python程序设计知识点汇总_Python入门知识点汇总
  8. vs2019加载调试动态库dll文件
  9. 记录注册邓白氏编码过程
  10. 文件夹目录下所有的视频使用ffmpeg指定位置截图
  11. pmp中ram和raci的区别_【PMP考前冲刺】知识点大全(六)
  12. C# 修改图片文件分辨率大小
  13. 【MySQL学习笔记】MySQL原理---单表查询
  14. AAA云免费云主机推荐码
  15. java开发视频教程精品整理 全部是牛B教程
  16. 北京 怀揣理想的地方!
  17. 最近无聊做了一个新站玩玩(www.01zhc.cn)
  18. 【FFMPEG】各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
  19. 冲击python二级——布尔操作符,比较操作符,控制流的基础
  20. word2013无法加载endnotex9解决方法

热门文章

  1. 06-continue和break的区别
  2. 用 iOS-System-Services 框架获取iOS设备所用的设备信息
  3. URAL 1004 Sightseeing Trip
  4. 实习也能这样过!节选
  5. 卡尔曼滤波和粒子滤波最直白的解释
  6. 【Flutter】Dart中的抽象类和接口
  7. CSS按钮动画(五)
  8. 怎么借助Camtasia制作回忆录
  9. Linux服务器开机自动启动服务或脚本的方法
  10. Flask框架-模板