本章節使用的資料已經放到了開發板網盤資料中,路徑為:“11_Linux 系統開發進階\90_章節_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 燈。 ![]() ![]() 1.通過 popen 執行 shell 命令 popen 和 pclose 函數實現的功能是創建一個管道,用來連接到另一個進程,然后讀那個進程的輸出或向它發送輸入,具體操作是 fork 一個子進程,exec 一個 shell 執行命令。 ![]() 2.填寫 shell 命令,設置引腳狀態: ![]() 3.控制 Led: ![]() 交叉編譯 arm-linux-gnueabihf-gcc -o led shellGpio.c ,將 led 文件拷貝到開發板。 ![]() 測試可看到開發板的燈在閃爍,終端有打印信息: ![]() 4.讀取按鍵值 ![]() 編譯后測試: ![]() |