这篇是在博客园原创 转载注明出处啊
以前用单片机、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中,然后解压



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 = 0 ; i < 8 ; i++ ) pinMode(i, OUTPUT); puts("init OK start.."); while (1) { digitalWrite(1, HIGH); delay(5); digitalWrite(1, LOW); delay(5); }
9:这时候编译下 如果错 关于什么函数重定义的把那个函数所在的位置 添加static 还有个什么Old的文件 把那个也删了 。 然后如果有个关于linux线程的错误 按照下面的添加 pthread
在gpio.c文件里要屏蔽一个main函数 防止和自己的main函数冲突;
这样配置就结束了 把编译好的.elf文件通过samba放到树莓派的目录里 运行 查看GPIO 的状态即可 。