这篇是在博客园原创 转载注明出处啊

以前用单片机、STM32之类的时候都是在一个集成的开发环境下进行的 比如Keil、IAR等 那么linux下编程,eclipse是个不错的选择

关于树莓派的GPIO操作 这里选择WiringPi 作为库函数,接下来安装这个库。

具体操作非常简单 一定要安装官方网站的最新版本,安装可以自动指定板子型号。

安装过程可分为两种 官网连接 http://wiringpi.com/download-and-install/

(不过官网上这个大叔是什么鬼啊,好魔性啊)

特别注意一点 以上的安装过程是在树莓派的Raspbain系统下安装的,因为我们最终的程序是在这个上面运行,但是我们编程的过程是在PC的虚拟机上进行的

因此,我们还要在PC虚拟机环境下支持这个库 。后面再说

那么可能会问:为什么不直接在windows上安装个集成开发环境,然后在把这个库包含进里面呢? 答案是还要用linux的其他资源啊

在eclipse、交叉编译、wiringPi安装完成的前提下 启动eclipse

1:新建个工程 选择CrossGcc 最好是Hello world模版 改一改就好了

2:配置编译环境 参照 raspberry pi 3开发环境

3:在工程目录 src文件夹下新建 dev_lib 、pi_gpio、wiringPi、三个文件夹

注意 这时候你的工程目录的src文件夹下就已经有了这几个文件夹了

4:在虚拟机Ubuntu中包含wiringPi 这里一定要使用下载文件这个方法 输入网址 ttps://git.drogon.net/?p=wiringPi;a=summary   点最后那个snapshot下载

把它复制到你eclipse的workspace中,然后解压

tar xfz wiringPi-b0a60c3.tar.gz
 
的到的文件夹如下
5:接下来依次把devlib、gpio、wiringPi 这几个文件夹里面的内容复制到刚才我们新建的那几个文件夹里 注意 一定要只复制.c和.h文件 其他的都不要。
当然有些可能没用,但是留着吧
6:到eclipse中依次刷新下dev_lib 、pi_gpio、wiringPi、三个文件夹 会看到新添加的文件

7:添加路径

8:编写程序  添加头文件

#include <stdlib.h>
#include <wiringPi.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

main函数

    unsigned char i;
puts("init gpio...");
wiringPiSetup();
for( i = ; i < ; i++ )
pinMode(i, OUTPUT);
puts("init OK start..");
while ()
{
digitalWrite(, HIGH);
delay();
digitalWrite(, LOW);
delay();
}

9:这时候编译下 如果错 关于什么函数重定义的把那个函数所在的位置 添加static 还有个什么Old的文件 把那个也删了 。 然后如果有个关于linux线程的错误  按照下面的添加 pthread

在gpio.c文件里要屏蔽一个main函数 防止和自己的main函数冲突;

这样配置就结束了 把编译好的.elf文件通过samba放到树莓派的目录里 运行 查看GPIO 的状态即可 。

Raspberry Pi3 ~ Eclipse中添加wiringPi 库函数的更多相关文章

  1. 在MyEclipse和Eclipse中添加Hibernate开发工具

    一.插件准备 MyEclipse需要的插件:HibernateTools-3.2.4.zip Eclipse需要的插件:jbosstools-4.2.3.Final_2015-03-26_22-41- ...

  2. Eclipse中添加web dynamic project

    因为我的eclipse版本是kepler service release 2,所以我用了这个链接,http://download.eclipse.org/releases/helios/ 参考链接:  ...

  3. 如何在Eclipse中添加Tomcat的jar包

    原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...

  4. 如何在Eclipse中添加Servlet-api.jar的方法

    方法一: 点击窗口->首选项->java->构建路径->类路径变量->新建:将你的tomcat目录下的common/lib/servlet.jar加进来.如果你建立了一个 ...

  5. eclipse中添加Java代码注释模板

    eclipse中添加Java代码注释模板 1.Window->Preference->Java->Code Style->Code Template,进入注释编辑界面 2.文件 ...

  6. eclipse中添加server后,启动server,访问项目时,端口是怎么选择的。

    1   eclipse中添加了tomcat 2 设置端口时,可以在图2.1修改 也可以在图2.2修改 3 点击server的publish按钮,会将图2.2的配置文件和server中添加的项目同步到实 ...

  7. [学习笔记] 在Eclipse中添加用户库 Add User Libraries ,在项目中引用用户库

    如果还没有安装Eclipse, 则请参考前文:  [学习笔记] 下载.安装.启动 Eclipse(OEPE) 添加用户库 本文主要介绍在项目中直接使用第三方库的情况.就是把第三方的jar文件直接放到某 ...

  8. eclipse中添加进新的java项目中文乱码

    eclipse中添加进新的java项目中文乱码 添加学习的一些项目进eclipse中,结果其中的中文注释都变成了乱码 右击项目,点最下面的属性,出来新得弹框 在文本文件编码部分可以发现是GBK格式,选 ...

  9. eclipse中添加python开发环境

    由于自己一直使用的是eclipse这个IDE,在写spark,java等都是用它,主要是用它比较顺手,也并不是觉得它有什么特别好的之处.下面主要介绍一下,在window系统下,eclipse中搭建py ...

随机推荐

  1. 302. Smallest Rectangle Enclosing Black Pixels

    题目: An image is represented by a binary matrix with 0 as a white pixel and 1 as a black pixel. The b ...

  2. Myeclipse 10 破解说明

    一,准备阶段 : 1. 破解软件(网上有下载) 2. JDK软件(免费软件) 二,开始破解: 1. 关闭MyEclipse 10.0 2. 安装 JDK 三,特殊说明: 有些机器安装时会出现run.b ...

  3. Android应用截图和SurfaceView截图问题总结

          最近在做android截图应用的过程遇到很多问题,接触了好些截图方法,但是还是不能实现SufaceView截图功能.今天就把我尝试过的方法总结下,希望把我惨痛的经历写出来后能够帮助到要做此 ...

  4. 二维码工具类 - QrcodeUtils.java

    二维码工具类,提供多种生成二维码.解析二维码的方法,包括中间logo的二维码等方法. 源码如下:(点击下载 - QrcodeUtils.java.MatrixToImageWriterEx.java. ...

  5. hdu - 1728逃离迷宫 && hdu - 1175 连连看 (普通bfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=1728 这两道题花了一下午的时候调试,因为以前做过类似的题,但是判断方向的方法是错的,一直没发现啊,真无语. 每个 ...

  6. python3代码

    import urllib.request url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1&quo ...

  7. [CFGym101061G] Repeat it(逆元)

    题目链接:http://codeforces.com/gym/101061/problem/G 题意:给一个数字n,让你重复m次,求最后这个数对1e9+7取模的结果. 思路:设数字n长度为k,重复m次 ...

  8. 添加crontab为什么要重定向输出到/dev/null

    如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情.因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件 /var/spool/mail/$use ...

  9. 邦定lua函数到C里做为回调

    1,  int ref = luaL_ref(L, LUA_REGISTRYINDEX); //把栈顶的obj  存在lua的表里面,返回一个唯一的引用,(栈顶的obj被自动清除),,(这个引用作为回 ...

  10. How does browsersync work?

    How Does BrowserSync Work? BrowserSync starts a small web server. If you’re already using a local we ...