bb_black_學習筆記——(4)閃爍LED之shell命令

來源:互聯網
上載者:User

標籤:

上一篇筆記在終端輸入shell命令實現了LED燈的點亮與熄滅,作為初學者,已經興奮了一陣,因為終於有了零的突破。手動點亮LED總會比較麻煩,還是得通過程式讓它自己去點亮與熄滅,這樣才更好玩。這篇筆記裡,筆者通過學習shell指令碼,實現LED的閃爍,這樣才好玩。本篇筆記還是先從現象看起,然後在分析其實現原理。

第一步:實現LED燈閃爍

1、先來個簡單的shell指令碼,瞭解一下shell指令碼的使用流程。為建立一個名為hello_sh的shell指令碼編輯執行的過程。

幾點說明:

(1)shell指令碼可以沒有檔案尾碼名,但是為了方便,也可以添加.sh為其尾碼。中用_sh作為表示,也可以沒有;

(2)shell指令碼建立可以利用touch filename的形式來建立;

(3)編輯shell指令碼可以直接使用vi編輯器,關於vi編輯器的簡單實用請查看上一篇筆記;

(4)shell指令碼是不需要編譯就可以運行,有shell解譯器完成命令的解讀與執行;

(5)建立的shell指令碼需要為其添加可執行許可權,否則執行時會出錯;

(6)運行shell指令碼直接使用 ./* 就可以運行;

(7)中hello_sh指令檔裡只有一行內容,目的是輸出hello字元,指令碼內容如。

2、下面就進入今天的主題,首先還是要手動建立shell指令檔,筆者的檔案名稱為led_sh。建立和添加許可權的過程就不在此貼了,請參考上文。下面直接貼出led_sh的內容。

幾點說明:

(1)有關shell的詳細使用,請參考這個連結http://c.biancheng.net/cpp/shell/。這個網站有精簡的shell教程,對於初學者來說入門還是挺快的;

(2)簡答解釋一下指令碼內容:

     1)第1行:在終端顯示hello led一串字元;

    2)第2~4行:這部分是一個if語句,目的是查看是否有gpio44檔案,如果沒有,通過第3行指令碼添加一個;

    3)第4行:為gpio44添加輸出屬性;

    4)第7~13行:這部分是一個while語句,在while語句裡面先點亮LED,然後睡眠0.25秒再熄滅LED,再睡眠0.25秒。如此不停的迴圈。

    5)第14行:關閉LED燈。

 

3、通過vi編輯器輸入上面的指令碼,然後運行,就可以看到LED燈閃爍的狀態了。現象和上一篇筆記是一樣的,不過這次直接運行指令碼就可以實現不斷的閃爍了。

第二步:學習簡單的shell指令碼

1、echo用法上一篇筆記已經說明,此處不再說明。

2、if用法。

if 語句通過關係運算子判斷運算式的真假來決定執行哪個分支。if語句有三種用法,這裡只說明最簡單的一種文法,if ... else 語句:

1 if [ expression ] then 2     Statement(s) to be executed if expression is true3 fi

幾點說明:

(1)如果 expression 返回 true,then 後邊的語句將會被執行;如果返回 false,不會執行任何語句。

(2)最後必須以 fi 來結尾閉合 if,fi 就是 if 倒過來拼字。

(3)expression 和方括弧([ ])之間必須有空格,否則會有語法錯誤。

3、while用法。

while迴圈用於不斷執行一系列命令,也用於從輸入檔案中讀取資料;命令通常為測試條件。其格式為:

while commanddo    Statement(s) to be executed if command is truedone

幾點說明:

(1)命令執行完畢,控制返回迴圈頂部,從頭開始直至測試條件為假,否則不退出;

(2)迴圈體的內容包含在do……done之間。

bb_black_學習筆記——(4)閃爍LED之shell命令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.