RPI学习--wiringPi_setups
reference: http://wiringpi.com/reference/setup/
There are four ways to initialise wiringPi.
wiringPi库提供了四种方法(函数)用来初始化wiringPi。
- int wiringPiSetup (void) ;
- int wiringPiSetupGpio (void) ;
- int wiringPiSetupPhys (void) ;
- int wiringPiSetupSys (void) ;
One of the setup functions must be called at the start of your program or your program will fail to work correctly. You may experience symptoms from it simply not working to segfaults and timing issues.
当你编程的时候必须在开头调用这四个设置函数中的一个,否则你的程序将运行不了。你可能经历过像简单的不能工作,段错误,定时问题这样的一些症状。
Note: wiringPi version 1 returned an error code if these functions failed for whatever reason. Version 2 returns always returns zero. After discussions and inspection of many programs written by users of wiringPi and observing that many people don’t bother checking the return code, I took the stance that should one of the wiringPi setup functions fail, then it would be considered a fatal program fault and the program execution will be terminated at that point with an error message printed on the terminal.
注意:对于wiringPi 的V1版本,如果这些设置函数调用失败,不管什么原因,它将会返回一个错误代码。
- If you want to restore the v1 behaviour, then you need to set the environment variable: WIRINGPI_CODES (to any value, it just needs to exist)
The differences between the setup functions are as follows:
- wiringPiSetup (void) ;
This initialises wiringPi and assumes that the calling program is going to be using thewiringPi pin numbering scheme. This is a simplified numbering scheme which provides a mapping from virtual pin numbers 0 through 16 to the real underlying Broadcom GPIO pin numbers. See the pins page for a table which maps the wiringPi pin number to the Broadcom GPIO pin number to the physical location on the edge connector.
This function needs to be called with root privileges.
- wiringPiSetupGpio (void) ;
This is identical to above, however it allows the calling programs to use the Broadcom GPIO pin numbers directly with no re-mapping.
As above, this function needs to be called with root privileges, and note that some pins are different from revision 1 to revision 2 boards.
- wiringPiSetupPhys (void) ;
Identical to above, however it allows the calling programs to use the physical pin numberson the P1 connector only.
As above, this function needs to be called with root priviliges.
- wiringPiSetupSys (void) ;
This initialises wiringPi but uses the /sys/class/gpio interface rather than accessing the hardware directly. This can be called as a non-root user provided the GPIO pins have been exported before-hand using the gpio program. Pin numbering in this mode is the native Broadcom GPIO numbers – the same as wiringPiSetupGpio() above, so be aware of the differences between Rev 1 and Rev 2 boards.
Note: In this mode you can only use the pins which have been exported via the /sys/class/gpio interface before you run your program. You can do this in a separate shell-script, or by using the system() function from inside your program to call the gpioprogram.
Also note that some functions have no effect when using this mode as they’re not currently possible to action unless called with root privileges. (although you can use system() to callgpio to set/change modes if needed)
RPI学习--wiringPi_setups的更多相关文章
- RPI学习--wiringpi_API
reference: https://projects.drogon.net/raspberry-pi/wiringpi/functions/ Functions (API) Some of the ...
- RPI学习--WebCam_mplayer
1,安装mplayer $ sudo apt-get install mplayer 2,运行 $ sudo mplayer tv:// 有时会秀逗,绿屏,多试几下就好了,情况未知
- RPI学习--环境搭建_无线网络的连接
这里不讨论无线网卡的驱动问题,假设内核已经支持了该网卡. 发现命令行下添加无线网络比较麻烦,于是利用图形桌面的工具(WiFi Config)先配置好,在回到字符终端,发现网络已经配置好了 查看内网ip ...
- RPI学习--环境搭建_默认启动桌面/终端修改
参见:http://elinux.org/RPi_raspi-config 首次运行Raspbian会自动进入设置,往后也可以重新进入设置: $ sudo raspi-config 选项3 Enabl ...
- RPI学习--webcam_用fswebcam抓取图片
若 ls /dev 下没有video0,可以参考http://www.cnblogs.com/skynext/p/3644873.html,更新firmware 1,安装fswebcam: sudo ...
- RPI学习--环境搭建_更新firmware
(用以解决USB摄像头不识别的状况) rpi-update是老外开发的一个更新树莓派firmware的工具 $ sudo apt-get update $ sudo apt-get install ...
- RPI学习--环境搭建_刷卡+wiringPi库安装
1,镜像地址 http://www.raspberrypi.org/downloads/ 2,Windows下刷写工具 Win32 Disk Imager 3,安装wiringPi库 (这里在连网状态 ...
- RPI学习--环境搭建_串口连接
有两种, 一种是通过MAX2323芯片连接的串口,要接VCC为芯片供电. 另一种是通过PL2302芯片连接的USB,可不接VCC,用电脑USB口为芯片供电. 下面以通过MAX2323方式为例. 1,V ...
- nanopi NEO2 学习笔记 3:python 安装 RPi.GPIO
如果我要用python控制NEO2的各种引脚,i2c 或 spi ,RPi.GPIO模块是个非常好的选择 这个第三方模块是来自树莓派的,好像友善之臂的工程师稍作修改移植到了NEO2上,就放在 /roo ...
随机推荐
- task-clph
@UI方面 1 UILabel如果没有text内容,那么无论你怎么设置背景色都没用 UIButton就都可以用 2使用了新控件:UIStackView 使用步骤: //1创建 _horizontalS ...
- ajax 跨域解决 网上资料
PHP中运用jQuery的Ajax跨域调用实现代码,需要的朋友可以参考下 可以在页面定义一个调用方法,如下: 复制代码代码如下: function getData(){ $.getJSON(&qu ...
- dom jaxp详解
转自 http://blog.csdn.net/java958199586/article/details/7277904 一.XML解析技术概述 1.XML解析方式分为两种:dom和sax (1)d ...
- cocos2dx从入门到精通课程
一.移动开发基础 二.cocos2dx跨平台理论 三.cocos2dx框架 四.cocos2dx内存管理 五.cocos2dx的事件与消息机制 六.cocos2dx的定时器 七.cocos2dx的渲染 ...
- MySQL DELETE 表别名问题
- [redis] redis 存取键值对常用的三种使用方式 - Jedis、JedisPool、Jedis分布式
|-Jedis 普通方式 |-JedisPool 连接池方式(需要引入pool相关jar) |-Jedis 分布式 (需要引入pool相关jar) 引入jedis2.7.0和commons.pool2 ...
- Permutations [LeetCode]
Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...
- iOS 10 消息推送(UserNotifications)秘籍总结(二)
背景 上一篇博客iOS 10 消息推送(UserNotifications)秘籍总结(一)发布后被 简书编辑推荐至首页,这着实让我受宠若惊啊.可是好事不长,后面发生了让我伤心欲绝的事,我的女朋友不要我 ...
- JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
转自<JS实现漂亮的窗口拖拽效果(可改变大小.最大化.最小化.关闭)>:http://www.jb51.net/article/73157.htm 这篇文章主要介绍了JS实现漂亮的窗口 ...
- 我的Github注册使用之旅
[个人介绍] 我是来自网络工程143班的姜金金,学号是1413042066.我没什么大的爱好,闲时喜欢在有阳光的午后喝喝小茶,捧一本书慢慢品茗:也喜欢散散步,欣赏细碎事物的美好,驻足沿路美丽的风景.说 ...