迅為乾貨 | C程式呼叫shell
阿新 • • 發佈:2020-10-21
本節介紹的是在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讀取按鍵值
編譯後測試:
關注公眾號“迅為電子”持續更新技術乾貨