我们使用树莓派的很重要一个原因是想通过它来进行一些智能控制,比如控制舵机、LED灯、继电器或者用来进行串口、SPI通信等,这些都需要通过控制树莓派的输入输出引脚(IO引脚)来实现的。前面的文章我们说过树莓派的输入输出引脚有26针和40针的区别,今天这篇文章我们具体看看它们是如何定义的?

首先,我们看看一代B型机的IO引脚(26针)的定义。将树莓派以如下的角度放置,在右上角有两排针脚,即为扩展IO针脚。针脚的左上角为1号,右下角为26号,如下图:

上图中,1号针脚为3.3V电源接口,2号针脚为5V电源接口,6号针脚为电源负极(地)。可以通过将DC5V电源的正极连接到2号针脚,将负极连接到6号针脚为树莓派供电。不过最常用的供电方式是通过板载的Mini USB供电,推荐的电源为直流5V(2A),如下图:

如果使用Mini USB口供电,那么2号针脚和6号针脚会有+5V电压差;1号针脚和6号针脚会有+3.3V电压差,可以给外部负载供电。

下图是方正智芯(Founder Chip)整理的一代B型机(26针)的IO 引脚定义图:

该图表中有两种编号:BCM编号和Wiring PI编号。BCM编号是树莓派CPU芯片(树莓派一代机使用的CPU芯片为BCM2835)的引脚编号。但是由于BCM编号在扩展IO引脚上并非按照顺序进行排列,在编程开发的时候使用起来不太方便,因此我们经常使用另一种编号:Wiring PI编号。Wiring PI是为树莓派量身定做的一个软件包,适合有C语言基础的开发人员。上图中也列出了对应的Wiring PI引脚编号。

图表中GPIO的是英文"General Purpuse Input & Ouput"的缩写,中文翻译为:通用输入输出通道。开发人员可以在程序内部将其配置成为输出(Output)通道或者输入(Input)通道,与单片机编程开发的GPIO引脚配置是一样的。

IO扩展引脚支持I2C总线(BCM2、3)、SPI总线(BCM8、9、10、11、12)和通用串行总线(BCM14、15),可以在编程中使用相应的功能。

树莓派从一代B+机将IO引脚扩展到40针,之后的二代B型机和三代B型机都是40针,针脚的定义如下:

可以看出,40针的IO扩展口在原来的基础上又增加了一组5V电源(针脚4)和3.3V(针脚17)电源供应,保留了原来的I2C总线,SPI总线和通用串行总线,同时增加了一组I2C总线(BCM0,、1),同时GPIO引脚增加到了GPIO29。

好了,关于树莓派IO引脚的定义就介绍到这里了。

熟练掌握IO引脚的定义是编程开发的基础,本文可以作为参考手册,官网提供PDF版本下载。

来源:本站|   大小:326 KB|   下载次数:635次

感谢您的支持,欢迎常来看看!

一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

树莓派管脚编码c语言,树莓派IO引脚定义 | 北岛夜话相关推荐

  1. 树莓派输出高电平C语言,树莓派控制高电平蜂鸣器(c语言+新手向)

    话不多说,先上代码: #include #include #include #define VOICE 0 void ultraInit(void){ pinMode(VOICE,OUTPUT);// ...

  2. 树莓派输出pwm波c语言,树莓派Ubuntu18.04使用pigpio库产生PWM波实现舵机控制

    树莓派Ubuntu18.04使用pigpio库产生PWM波实现舵机控制 树莓派Ubuntu18.04使用pigpio库产生PWM波实现舵机控制 一:pigpio库简介 pigpio是一个用于树莓派的库 ...

  3. 树莓派pwm调速c语言,树莓派智能温控风扇(PWM控制风扇转速)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 接下来就是上代码的时候了(C语言) /* * main.c * * Created on: 2017年7月24日 * 说明:程序使用的事wiringPi. ...

  4. 树莓派驱动数码管c 语言,树莓派GPIO入门05-驱动数码管显示数字

    标准的数码管从显示内容上分7段和8段数码管两种.8段比7段多一个右下角的小数点.还有一些其他特殊的如可以显示米字形的数码管不在本文讨论范围内,其实原理都是一样的. 8段数码管由8个发光二极管组成,其中 ...

  5. 树莓派蓝牙ble gattlib c语言,树莓派构建智能家居控制系统 篇三:花花草草智能监测仪接入树莓派Domoticz...

    树莓派构建智能家居控制系统 篇三:花花草草智能监测仪接入树莓派Domoticz 2017-05-22 19:30:08 35点赞 410收藏 31评论 作为工科男,实在对花花草草没太多感觉.家里阳台养 ...

  6. 树莓派蓝牙ble gattlib c语言,树莓派的蓝牙通讯(bluez、gattlib)

    目录 一.准备工作 二.利用蓝牙工具进行调试 三.编译使用gattlib 一.准备工作 我使用的蓝牙模块是大夏龙雀的DX-BT16,支持BLE4.2协议.树莓派的型号为4b,操作系统为64位的ubun ...

  7. 树莓派继电器控制水泵c语言,树莓派dht11,土壤湿度传感器,继电器的使用。树莓派云灌溉(二)...

    关于传感器的一些说明 我的想法是这样的 我尽量用易于理解的语言去说我的想法 首先,土壤湿度传感器和dh11会获取数据,然后树莓派会处理这些数据,读出土壤温湿度和空气温湿度,并将这些数据上传到云服务器, ...

  8. 树莓派之间如何通讯_树莓派的IO引脚是如何定义的?

    我们使用树莓派的很重要一个原因是想通过它来进行一些智能控制,比如控制舵机.LED灯.继电器或者用来进行串口.SPI通信等,这些都需要通过控制树莓派的输入输出引脚(IO引脚)来实现的.前面的文章我们说过 ...

  9. 树莓派gpio编程c语言,树莓派底层编程-GPIO篇

    0 前言 本来是准备写一篇用python控制GPIO的例子,结果发现太简单了,还是深入一些吧,多深入底层 接下来,我会按照下面的顺序来介绍: 1)GPIO控制器地址映射 2)GPIO主要控制寄存器介绍 ...

  10. 树莓派输出pwm波c语言,02树莓派4B—C语言编程——PWM

    01树莓派直接输出PWM波 -- 硬件PWM程序  (推荐使用) #include #include #include //必不可少 int main( void) { int pwm_gpio5 = ...

最新文章

  1. Free Download Top 100 Hacking Books
  2. 自主定义适合自己的Keil主题
  3. C#指针使用学习总结
  4. android TextView 的垂直滚动
  5. dinic (最大流) 算法 讲解
  6. eShopOnContainers 看微服务④:Catalog Service
  7. jeecg boot一对多新增的附表不会主键是一个string_测试开发专题:spring-boot如何使用JPA进行双向一对多配置...
  8. 60-100-028-使用-MySQL 主从复制
  9. Sql 列转行 三种方法对比
  10. Tomcat监控利器Probe
  11. 使用python语言编写脚本控制freeswitch总结
  12. 阿里云播放器的官方文档
  13. Mysql 数据库操作系统 官网 安装教程
  14. ROS中launch文件和参数设置
  15. MARKDOWN--介绍http://www.jianshu.com/p/q81RER
  16. 字节跳动双11电商直播技术大揭秘
  17. Direct3D 12 CreateSwapChain失败
  18. 多款功能强大的chrome谷歌浏览器插件推荐
  19. 【iOS安全】App Store 应用爬取
  20. 百度富文本编辑器(ueditor)的使用

热门文章

  1. NBU备份速度快慢调整
  2. 替换class文件,重启Tomcat不生效
  3. 软件开发过程与需求获取
  4. 微信小程序开发工具使用方法
  5. 卫星通信中信关站、关口站、地面终端的区分
  6. Unity中使用TextMeshPro打出Emoji表情
  7. 【超图+CESIUM】【基础API使用示例】28、超图|CESIUM -【坐标转换】世界坐标转经纬度
  8. 使用pdfobject.js实现在线浏览PDF--前端显示PDF
  9. LayoutIt! 设计Bootstrap页面
  10. dh协议c语言代码,openssl开源程序dh算法解析之dh_ameth.c