1. 程式人生 > 實用技巧 >迅為乾貨 | C程式呼叫shell

迅為乾貨 | C程式呼叫shell

本節介紹的是在linux 系統環境下linux-C呼叫shell命令控制GPIO輸入輸出步驟。shell作為Linux作業系統的外殼,為使用者提供使用作業系統的介面。它是命令語言、命令解釋程式及程式設計語言的統稱,它解釋由使用者輸入的命令並且把它們送到核心。

使用shell命令直接操作/sys/下的gpio節點,首先在imx6ull-14x14-evk.dts註釋掉裝置樹的LED和按鍵功能,LED引腳為GPIO0_3,key引腳為GPIO1_18。

在程式中通過shell命令讀取按鍵值和控制LED燈。

01通過popen執行shell命令

popen和pclose函式實現的功能是建立一個管道,用來連線到另一個程序,然後讀那個程序的輸出或向它傳送輸入,具體操作是fork一個子程序,exec一個shell執行命令。


02填寫shell命令,設定引腳狀態

03控制Led

交叉編譯arm-linux-gnueabihf-gcc -o led shellGpio.c ,將led檔案拷貝到開發板。

測試可看到開發板的燈在閃爍,終端有列印資訊:

04讀取按鍵值

編譯後測試:

關注公眾號“迅為電子”持續更新技術乾貨