python控制树莓派gpioled,树莓派GPIO控制LED灯

本帖最后由 xiansen_shun 于 2016-6-21 16:38 编辑

一,常用的开源工程

树莓派内核中已经编译自带了GPIO的驱动,我们常通过一些第三方写好的库函数来完成具体的操作,比较常见的操作库函数有:

1、

【开发语言】——python

【简单介绍】——树莓派官方资料中推荐且容易上手。python GPIO是一个小型的python库,可以帮助用户完成raspberry相关IO口操作,但是python GPIO库还没有支持SPI、I2C或者1-wire等总线接口。

2、wiringPi【开发语言】——C语言

【简单介绍】——wiringPi适合那些具有C语言基础,在接触树莓派之前已经接触过单片机或者嵌入式开发的人群。wiringPi的API函数和arduino非常相似,这也使得它广受欢迎。作者给出了大量的说明和示例代码,这些示例代码也包括UART设备,I2C设备和SPI设备等。

3、BCM2835 C Library

【开发语言】——C语言

【简单介绍】BCM2835 C Library可以理解为使用C语言实现的相关底层驱动,BCM2835 C Library的驱动库包括GPIO、SPI和UART等,可以通过学习BCM2835 C Library熟悉BCM2835相关的寄存器操作。如果有机会开发树莓派上的linux驱动,或自主开发python或PHP扩展驱动,可以从BCM2835 C Library找到不少的“灵感”。

1、功能物理引脚:

从左到右,从上到下:左边基数,右边偶数:1-40

2、BCM:

编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号。3、wpi:

编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程。

下图是树莓派的GPIO的引脚编码位置。

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

raspbian-GPIO.jpg (214.85 KB, 下载次数: 50)

2016-5-23 12:56 上传

三、操作实战

我现在采用的方式是WiringPi

首先我们需要安装WiringPi 方法有两种

方案一、使用git工具

通过git 获取WiringPi的源代码$ git clone git://git.drogon.net/wiringPi

$ cd wiringPi$ ./buildbuild脚本会帮助你编译和安装wiringPi方案二  直接下载安装$ tar xfz wiringPi-xx.tar.gz

$ cd wiringPi-xx$ ./build

测试wiringPi包括一套gpio命令,使用gpio命令可以控制树莓派上的各种接口,通过以下指令可以测试wiringPi是否安装成功。$gpio -v

$gpio readall如果成功则会出现IO图

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

GPIO-1.png (47.72 KB, 下载次数: 33)

2016-5-23 13:09 上传

$ mkdir led

$ cd led

$ vim test.c闪烁Led例子

[mw_shl_code=cpp,true]#include

int main(void)

{

wiringPiSetup() ;

pinMode (0, OUTPUT) ;

for(;;)

{

digitalWrite(0, HIGH) ;

delay (500) ;

digitalWrite(0,  LOW) ;

delay (500) ;

}

} [/mw_shl_code]

然后保存退出即可。

四 编译运行

在树莓派上执行$ gcc -Wall -o test test.c -lwiringPi备注:-lwiringPi表示动态加载wiringPi共享库。$ sudo ./test执行完成后你就能看到led灯会一闪一闪的了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值