您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何進行GPIO驅動使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
CB的GPIO控制操作
板子使用的操作系統是官方標準系統1.1版本的linaro官方img的,本身已經帶gpio驅動文件。
1.官方驅動為gpio-sunxi.ko,位于 /lib/modules/3.0.62/kernel/drivers/gpio/gpio-sunxi.ko。
2.因為系統啟動后并沒有加載該驅動模塊,需要用戶自行插入,使用insmod命令即可。之后lsmod可以看到gpio-sunxi.
當然也可以編輯/etc/modules,在其中加入gpio-sunxi.ko。重啟后lsmod檢查是否已經加載。
3.驅動加載完畢后就可以操作GPIO口了。
對于GPIO口的操作,需要有以下三個步驟:
1).需要指明需要操作的端口號。
echo 4 > /sys/class/gpio/export
ls /sys/class/gpio
會出現我們需要的端口文件夾 gpio4-pe4,
如果 echo 1 > /sys/class/gpio/export 似乎出現 gpio1-pe1。
2)打開gpio4-pe4,或者 ls gpio4-pe4,可以看到gpio4-pe4里面的文件,有2個文件與我們操作有關:
分別是 direction 和 value ,可以看出分別代表端口的方向 和端口的值。
對于direction ,可以寫入echo out > /sys/class/gpio/gpio4-pe4/direction 設置該端口為輸出端。如果不設置,則寫入數據也沒有反應。
3)端口設置或清零.
通過向value文件寫入1或者0來完成端口的設置或清零。
echo 1 > /sys/class/gpio/gpio4-pe4/value ;set 1.
通過上述3個步驟就可完成對GPIO端口的選擇、設置、和使用。
但是在使用中發現問題及解決方法:
1 gpio-sunxi.ko驅動不會自動被系統加載,每次啟動后需要自己加載,比較麻煩。
解決方法:編輯 /etc/modules 添加gpio驅動模塊。之后每次重啟后,系統自動加載GPIO模塊。
2.每次系統重啟后都需要重新設置GPIO口,配置端口方向。
解決方法:編輯 /etc/rc.local,在exit前 加入
echo 1 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio4-pe4/direction
完成對GPIP口的選擇和端口設置。
3.對于 /sys的操作 需要chmod一下權限。chmod -R 777 /sys .
這也需要編輯/etc/rc.local來實現。
另外,這次我利用CB實現的功能是與ttl智能門鎖類似,我是使用手機來控制照明燈。
基本的架構也是利用 LNMP來做服務器,利用php語言對 /sys/class/gpio/gpio4-pe4/value進行讀寫操作來完成的。
這里需要注意的是 nginx服務器的網站目錄設置,之前設置在 /etc/nginx/www/不能完成對 /sys/..的操作。
后來重新修改了網站站點目錄,直接設置到 / 下,就可完成對 /sys 文件的操作了。
以上就是如何進行GPIO驅動使用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。