完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 kaloha 于 2017-5-15 17:29 编辑
---------------------------------------------------------------------------------------- 本文转自:www.waveshare.net/study/article-601-1.html ---------------------------------------------------------------------------------------- 一、wiringPi WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi中的函数类似于Arduino的wiring系统。官网:http://wiringpi.com/ 1、wiringPi安装 (1)方案1-使用GIT工具 通过GIT获得wiringPi的源码
build脚本会帮助你编译和安装wiringPi (2)方案1-使用GIT工具 我们可以在网站上直接下载最新版本编译使用,https://git.drogon.net/?p=wiringPi;a=summary 在windows上下载wiringPi库,并复制到树莓派中,运行如下命令解压安装。(xxx代表版本号)
详细安装教程请参考wiringPI官网:http://wiringpi.com/download-and-install/ 2、测试 wiringPi包括一套gpio命令,使用gpio命令可以控制树莓派上的各种接口,通过以下指令可以测试wiringPi是否安装成功。
从上图可以知道树莓派管脚有三种编号方式,下面以Pioneer600扩展板的LED1为例,第一种为板上编号(37),即中间两列,表示第几号插针。第二中为wiringPi编码(25),使用wiringPi库编程时是用wiringPi编号,第三种为BCM编号,这个是更加BCM管脚来编号的,使用bcm2835库或python的RPi.GPIO编程时使用BCM编号。 我们可以使用gpio命令操作树莓派GPIO,下面我们可以gpio命令控制Pioneer600扩展的LED1.
设置管脚为输出模式,-g参数表示是以BCM编号方式,如果去掉这个参数测以wiringPi编号方式,即为25。
设置管脚为高电平,点亮LED.
设置管脚为低电平,熄灭LED,
读取管脚当前状态 更多gpio命令请查看:https://projects.drogon.net/rasp ... i/the-gpio-utility/ 3、wiringPi程序:
使用vi将代码添加到led.c文件中,运行如下命令编译并执行程序。按Ctrl+C终止程序。
注:(1)-Wall 表示编译时显示所有警告,-lwringPi表示编译时动态加载wringPi库 (2)终止程序后,LED的状态为不确定,这和python程序相比显得有点不足。 关于更多wiringPi的库函数,可参看wiringPi官网,也可参考wiringPi用户手册。 http://wenku.baidu.com/link?url= ... AGXREBOE6h68eTt-Q3y 二、 bcm2835 bcm2835库是树莓派cpu芯片的库函数,相当于STM32的固件库一样,底层是直接操作寄存器。而wiringPi库和python的RPi.GPIO库其底层都是通过读写linux系统的设备文件操作设备。 1、安装bcm2835库 从bcm22835官网(http://www.airspayce.com/mikem/bcm2835/)下载最新版本的库,然后解压安装。
2、示例程序 新建名为led.c的文件,添加如下程序。
编译并执行程序,按Ctrl+C可结束程序。
注:(1)-lbcm2835表示动态加载bcm2835库 (2)注意bcm2835程序管脚使用bcm编号,和wiringPi编号不一样。 (3)和wiringPi一样,程序结束时GPIO的状态不确定。 三、python 1、安装RPi.GPIO (1)先安装python-dev,输入以下指令。
(2)安装RPi.GPIO #下载
#解压:
#进入解压之后的目录 :
#启动安装 :
2.示例程序 新建led.py文件,添加如下代码并保存。
执行程序,按Ctrl+C结束程序
注:(1)#!/usr/bin/env python,定义python解析脚本的绝对路径。 (2)# -*- coding: utf-8 -*- ,python文件为utf-8格式,否则无法写入中文注释。 (3) GPIO.setmode(GPIO.BCM),采用bcm编号方式。(4) python程序使用try except语言,当按下Ctrl+C结束程序是会触发异常,程序执行gpio.cleanup()语句清楚GPIO管脚状态。 对python语言不是很熟悉的孩童,可以查看Python基础教程:http://www.runoob.com/python/python-tutorial.html 这里有一个python语言的wiringPi库,有兴趣的可以参考:https://github.com/WiringPi/WiringPi2-Python |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
5864 浏览 0 评论
14171 浏览 9 评论
7793 浏览 0 评论
基于Amazon Echo 和 Raspberry Pi 的自动窗帘控制
7143 浏览 1 评论
【下载】《Linux+树莓派玩转智能家居》——亲手进行树莓派应用制作
160066 浏览 374 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 00:26 , Processed in 0.474143 second(s), Total 41, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号