《树莓派实战秘籍》——1.14 技巧14初学GPIO

简介:

本节书摘来自异步社区《树莓派实战秘籍》一书中的第1章,第1.14节,作者: 【美】Ruth Suehle , Tom Callaway 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.14 技巧14初学GPIO

GPIO代表通用输入/输出(GPIO,General-Purpose Input/Output),因为有了它们,你的树莓派在本书中的许多技巧才成为可能。这个技巧将为你掀起它们的神秘面纱1。

树莓派包含了一些你可能早已熟悉的连接器(以太网、HDMI、音频,以及USB等),它还有一个26pin(两排13针)的排针用来直接连接较底层的设备。这些引脚被称为GPIO,它们是可编程的输入/输出管脚,可用于广泛的用途。

实际上,这意味着我们使用这些GPIO引脚几乎可以把任何东西连接到树莓派。在树莓派上这些引脚的接头被标注为P1,如图1-5所示:


<a href=https://yqfile.alicdn.com/b5f4ba55c051f6f6d00bcab6bdf8cec51eee5f2f.png" >

够简单了吧?好了,这里有一点点混乱的地方:在树莓派上存在着两种给GPIO引脚编号的方式。

1.14.1 带编号的引脚丝印
标记GPIO引脚的第一种方法是参考树莓派主板上P1接头的引脚数。在图1-5中的引脚中,引脚1是下面一行中左起第一个引脚,引脚2是上面一行中左起第一个引脚,以此类推,其他引脚交替向右延伸。如果用表格的方式,主板引脚号看上去就如表1-5所示:


<a href=https://yqfile.alicdn.com/d82c83ff0a8fc30f4ab0da85d9874a670ddb5eb5.png" >

通过其主板标注号来标记树莓派的GPIO引脚,这种方法很容易通过查看硬件来理解。如果你使用这个编号方案,你可以使用主板标记作为引脚前缀,如“P1-”。

1.14.2 BCM标注法
但树莓派GPIO引脚的另外一种标注系统使用了Broadcom片上系统的频道号,这个系统被称为BCM系统,它是实际使用中的最为常见的系统。尤其是因为GPIO引脚在不同型号及不同版本的树莓派中的连接方式并不相同,所以它们在不同型号或版本中用引脚顺序标注并不具有互换性。

表1-6显示了BCM引脚标记和表1-5中所示的引脚之间的映射关系(适用于B型树莓派的版本2,这也是本书撰写时的当前版本)。


f8f820281d7a18a5eba897a7e63b8c680d5f903d

让我们挖掘得更深一些。正如你可以从标注上看到的那样,一些引脚被预配置为特殊的用途。标记为3.3V和5V的是电源引脚,使用了电压值作为标记,GND引脚提供了电路接地,BCM引脚2(P1-03)和引脚3(P1-05)被预先设置为提供I2C总线1,BCM引脚14(P1-08)和15(P1-10)被配置来提供一个串行终端,BCM引脚18(P1-12)则支持脉冲宽度调制(PWM,Pulse-Width Modulation)。

由于以上这些原因(以及因为它也是互联网上最常用的树莓派的GPIO标注方案),本书采用了BCM引脚标注法。

我们意识到这可能会在给Pi连接多个设备的时候造成混淆,但请参阅下一节获取一种聪明的方式来帮助你记住这些引脚的关系。

1.14.3 标注你自己的GPIO引脚
GPIO应该是简单的,但是共同标注计划(BCM,common labeling scheme)是如此的混乱,以致让人很容易忘记。这里有一个简单的技巧可以确保让你总是记住哪个引脚该在哪里。

Simon Monk博士曾经有个问题:他希望可以临时连接各种连线到树莓派的GPIO引脚上,但是每次他想这么做的时候,他都不得不上网去查BCM的引脚标注,接下来还要倒着数引脚以找到正确的那只。虽然听上去很容易,但很容易出错,而且相信我们,你很可能会犯他曾经犯过的错误。

为了解决这个问题,他创造了一种叫做树莓叶的方式(如图1-6所示)。树莓叶是树莓派GPIO引脚的一张完美尺寸的缩放图,而BCM标注就在这些GPIO引脚旁边。


<a href=https://yqfile.alicdn.com/88134a9a885c6d4e150d09635760566966435953.png" >

你可以复印并使用该图像作为参考,但从本书的Git仓库或Monk博士的网站的原始PDF链接2下载可能更容易。

相关文章
|
数据安全/隐私保护 开发工具 git