BeagleBone Black板第五課:Shell指令碼編程實驗

來源:互聯網
上載者:User

標籤:beaglebone   shell   

BBB板第五課:Shell指令碼編程實驗

在一上課我們通過簡單的echo命令測試並控制GPIO連接埠的高低電平輸出,實現對一個LED指示燈的點亮和關閉控制,本節將通過Shell指令碼編程,來完成兩個LED指示燈的交替閃亮的實驗。

實驗器材:準備兩個二極體指示燈,麵包板等

使用GPIO連接埠P8.12和P8.11兩個引腳

我們暫時不藉助其他工具軟體,直接遠程登陸到BBB板的圖形案頭,使用內建的Ledfpad編輯器來完成Shell指令碼的編程。

遠程登陸BBB板圖形案頭還記得吧,不記得話參考前面的課程,這裡就不另說明了。按點擊左下角的菜單,選擇點擊進入Leafpad。

 

開啟編輯器後如,然後輸入以下Shell命令代碼:

指令碼實現功能:實現兩個LED指示燈每隔一秒交替閃亮10次


按照圖中的指令碼一字一句輸入就行了,其中Shell基礎知識一點都不清楚的話多百度下吧,上面有很多相關知識。這裡我就指令碼led1(我儲存的名字,不需要尾碼,不過最好加上尾碼sh吧,比較容易識別,led1.sh就知道是shell指令碼程式)簡單作如下說明:

第一行代碼:#!  是一個約定的標記,它告訴系統這個指令碼需要什麼解譯器來執行,即使用哪一種Shell,這裡使用bash解譯器,寫全路徑,可以在BBB板/bin目錄下找到bash

#!/bin/bash

 

以下兩行代碼,是用來開啟gpio44和gpio45,增加了一個判斷條件,如果不存在則執行echo命令開啟相應連接埠:

if  [ ! –d  /sys/class/gpio/gpio44 ];  then echo 44 > /sys/class/gpio/export; fi

if  [ ! –d  /sys/class/gpio/gpio45 ];  then echo 45 > /sys/class/gpio/export; fi

 

以下兩行代碼為實現將連接埠都設定為輸出模式“out”:

echo out > /sys/class/gpio/gpio44/direction

echo out > /sys/class/gpio/gpio44/direction

 

以下for迴圈語句實現10次兩個LED交替輸出高低電平1或0,其中sleep是延時命令:

for ((i=0;i<10;++i))

do

       echo 1 > /sys/class/gpio/gpio44/value

       echo 0 > /sys/class/gpio/gpio45/value

       sleep 1

       echo 0 > /sys/class/gpio/gpio44/value

       echo 1 > /sys/class/gpio/gpio45/value

       sleep 1

done

    最後這兩行代碼就是關閉LED燈而已,相當於恢複原狀態:

echo 0 > /sys/class/gpio/gpio44/value

echo 0 >  /sys/class/gpio/gpio45/value

 

還可以增加以下兩行代碼關閉掉gpio44和gpio45:

echo 44 > /sys/class/gpio/unexport

echo 45 > /sys/class/gpio/unexport

 

程式碼解釋完畢,需要更詳細的Shell資訊只有靠自己進一步學習了,這裡主要是簡單學習下,並知道使用Shell指令碼編程的簡潔和強大,當然C++等語言的功能會更強大,以後的編程實驗中,主要就使用C++語言進行講解了。

以上指令碼代碼編寫結束後,儲存好,就可以進入終端模式執行了。

直接進入指令碼的儲存目錄下執行:# bash led1  (或 # bash led1.sh)就可以看到兩個燈交替閃亮了:

 

(完)

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.