本章節(jié)介紹的是在 linux 系統(tǒng)環(huán)境下 linux-C 調(diào)用 shell 命令控制GPIO輸入輸出步驟。shell 作為Linux 操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口。它是命令語言、命令解釋程序及程序設計語言的統(tǒng)稱,它解釋由用戶輸入的命令并且把它們送到內(nèi)核。
使用shell命令直接操作/sys/下的gpio節(jié)點,首先在imx6ull-14x14-evk.dts注釋掉設備樹的 LED和按鍵功能,LED引腳為GPIO0_3,key引腳為GPIO1_18。
在程序中通過shell命令讀取按鍵值和控制LED燈。
1.通過popen執(zhí)行shell命令
popen和pclose函數(shù)實現(xiàn)的功能是創(chuàng)建一個管道,用來連接到另一個進程,然后讀那個進程的輸出或向它發(fā)送輸入,具體操作是fork一個子進程,exec一個shell執(zhí)行命令。
2.填寫shell命令,設置引腳狀態(tài)
3.控制Led
交叉編譯arm-linux-gnueabihf-gcc -o led shellGpio.c ,將led文件拷貝到開發(fā)板。
測試可看到開發(fā)板的燈在閃爍,終端有打印信息:
4.讀取按鍵值
編譯后測試:
好物推薦-迅為品質(zhì)IMX6ULL開發(fā)板