2017年9月10日 星期日

【專題】Arduino篇:1-4 Arduino 基本語法—異想天開

相信大家對Arduino IDE的結構都有一定的瞭解了,如果還不是很懂可以去看我的上一篇文。
接著小編要來向大家介紹幾個基本語法,跟C語言都差不多,那話不多說我們開始吧。

;(分號)
用來表示一行的程式碼結束,不管老手新手都經常會忘記加上去,而導致程式出錯,因此出現編譯錯誤時第一件事情就是要檢查第一行錯誤訊息附近是否缺少分號。
例:
int a = 1 ;

{ }(大括號)
通常用在函式、結構宣告中或是條件判斷式後面,大括號都是對稱的,所以為了避免程式編譯錯誤,要養成輸入左大括號時,立即換一行輸入右大括號,減少錯誤的發生。
例:
void loop() {
          }

//(單行程式註解)
有註解是為了幫助目前以及後續的開發者,快速的了解程式的運作方式或需要注意的地方,由於註解的地方會被忽略,也不會被執行,所以並不會佔用任何記憶體空間。
例:
a = 1 ;  //單行註解,雙斜線後這一行的敘述句都會被註解

/* */(多行程式註解)
當你在測試時有大量程式碼需要註解,但你又不想一行一行助解掉,那多行註解就會是你最好的選擇。
例:
/*
a = 1 ;
b = 2 ;
c = 3 ;
*/

dealy(延遲)
顧名思義用來做延遲用,1000為一秒鐘。
例:
dealy( 1000 ) ;  //延遲一秒

#include(匯入函式庫)
讓你可以使用外部函數,使你在程式撰寫上更加便利。另外我有些一篇關於如何匯入函式庫的文章可以參考 函式庫
例:
#include <SoftwareSerial.h>

#define(定義)
為常數數值定義一個名字,通常拿來定義輸出腳位。
例:
#define LEDPin A1  //LEDPin的腳位為A1

if
if其實就是跟字面上意思一樣,如果條件達成就執行,不達成則『ㄅㄛ~』跳出。
像是如果今天下雨,我就不出門。當下與條件達成,我就執行不出門的動作。
如果條件成立後要執行的程式只有一行,則可以不用大括號,但小編我還是會習慣性的加上去,真是良好習慣(?
例:
if ( a > 87 )
    b = 10 ;   //a大於87,則b等於10

if ( c = 0 ) {
    a = 10 ;   //c等於0,則a等於10b等於20
    b = 20 ;
}
假如你想把條件不達成時也執行一樣事,你可以用if...else
像是如果今天下雨,我就不出門,不然我就出門。當下與條件達成,我就執行不出門的動作,如果沒達成我就出門。
例:
if ( a > 87 ){
    b = 10 ;  //a大於87,則b等於10
}
else {
    c = 30 ;  //a不大於87,則c等於20
}

假如你還想有設定不一樣的條件,你可以用if...else if。像是如果今天下雨,我就不出門,然後如果是太累就不出門。當條件不成立,沒下雨我應該要出門但是我又新增一條規定,即使沒下雨但太累還是不出門。
例:
if ( a > 87 ){
    b = 10 ;  //a大於87,則b等於10
}
else if ( a < 20 ){
    c = 30 ;  //a不大於87又小於20時,則c等於20
}
else {
    d = 20 ;  //a不大於也不小於20時,則d等於20
}

for
簡單來說就是它會一直重複執行你給他的任務,還可以去做一個計數的動作。
例:
for ( int i = 0 ; i < = 10 ; i++ ) {
    printIn( i ) ;  //它就會顯示0~10
 }

switch case
它有點類似if的用法,不過不同在於if是一個一個判斷最後找到答案去執行,而switch case則是直接去找答案執行。所以當你選擇很多時,switch case語法的效率會較if語法來得好。
例:
switch ( a )
case 1 :
   b = 1 ;  //a等於1,則b等於1
break ;

case 2 :
   b = 2 ;  //a等於2,則b等於2
break ;

default :
   b = 3 ;  //a不等於1也不等於2,則b等於3
           // default可省略

while
while程式會先檢查條件是否達成,當條件達成時才可以跳出迴圈,否則會一直執行迴圈裡的程式。
例:
while ( i < 10 ) {
     i ++ ;  //會先判對i是否小於10,當i大於10才可以跳出迴圈
}

do...while
do...whilewhile有點類似,不同在於do...while會先執行迴圈程式在判斷是否有達到條件。
例:
do {
  a ++ ;  //會先執行a++,再判斷a是否大於10
} while ( a > 10 )

以上就是基本常用語法的介紹啦,小編我只介紹常用的,如果還有常用但沒介紹到可留言給我喔。



沒有留言:

張貼留言