這篇是在博客園原創 轉載注明出處啊
以前用單片機、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 的狀態即可 。