三、擴展語法
3.1 ; (分號)
在每一行忘記使用分號作為結尾,將導致一個編譯錯誤。錯誤提示可能會清晰的指向缺少分號的那行,也可能不會。如果彈出一個令人費解或看似不合邏輯的編譯器錯誤,第一件事就是在錯誤附近檢查是否缺少分號。3.2{}(花括號)
大括號(也稱為「括號」或「大括號」)是C程式語言中的一個重要組成部分。它們被用來區分幾個不同的結構,下面列出的,有時可能使初學者混亂。左大括號「{」必須與一個右大括號「}」形成閉合。這是一個常常被稱為括號平衡的條件。在Arduino IDE(集成開發環境) 中有一個方便的功能來檢查大括號是否平衡。只需選擇一個括號,甚至單擊緊接括號的插入點,就能知道這個括號的「伴侶括號」目前此功能稍微有些錯誤, 因為IDE會經常會認為在注釋中的括號是不正確的。對於初學者, 以及由BASIC語言轉向學習C語言的程式設計師, 經常不清楚如何使用括號。畢竟,大括號還會在」return函數」、「endif條件句」以及「loop函數」中被使用到。由於大括號被用在不同的地方,這有一種很好的編程習慣以避免錯誤:輸入一個大括號後,同時也輸入另一個大括號以達到平衡。然後在你的括號之間輸入回車,然後再插入語句。這樣一來,你的括號就不會變得不平衡了。不平衡的括號常可導致許多錯誤,比如令人費解的編譯器錯誤,有時很難在一個程序找到這個錯誤。由於其不同的用法,括號也是一個程序中非常重要的語法,如果括號發生錯誤,往往會極大地影響了程序的意義。功能:
void myfunction(datatype argument)
{
statements(s)
}
循環:
while(boolean expression)
{
statement(s)
}
do
{
statement(s)
}
while(boolean expression) ;
for(initialisation; termination condition; incrementing expr)
{
statement(s)
}
條件語句:
if (boolean expression)
{
statement(s)
}
else if (boolean expression)
{
statement(s)
}
else
{
statement(s)
}
來波廣告
3.3 //(單行注釋)
Comments(注釋) :注釋用於提醒自己或他人程序是如何工作的。它們會被編譯器忽略掉,也不會傳送給處理器, 所以它們在At mega晶片上不佔用體積。注釋的唯一作用就是使你自己理解或幫你回憶你的程序是怎麼工作的或提醒他人你的程序是如何工作的。編寫注釋有兩種寫法:例子
x=5; //這是一條注釋斜槓後面本行內所有東西都是注釋
/*這是多行注釋-用於注釋一段代碼
if(gwb==0) { //在多行注釋內可使用單行注釋
x=3; /*但不允許使用新的多行注釋-這是無效的
}
//別忘了注釋的結尾符號-它們是成對出現的!
*/
小提示
3.4 /**/(多行注釋)
Comments(注釋) :注釋用於提醒自己或他人程序是如何工作的。它們會被編譯器忽略掉,也不會傳送給處理器, 所以它們在At mega晶片上不佔用體積。注釋的唯一作用就是使你自己理解或幫你回憶你的程序是怎麼工作的或提醒他人你的程序是如何工作的。編寫注釋有兩種寫法:
例子:
x=5; //這是一條注釋斜槓後面本行內的所有東西是注釋
/*這是多行注釋-用於注釋一段代碼
if(gwb==0) { //在多行注釋內可使用單行注釋
x=3; /*但不允許使用新的多行注釋-這是無效的
//別忘了注釋的結尾符號-它們是成對出現的!
*/
小提示:
當測試代碼的時候,注釋掉一段可能有問題的代碼是非常有效的方法。這能使這段代碼成為注釋而保留在程序中,而編譯器能忽略它們。這個方法用於尋找問題代碼或當編譯器提示出錯或錯誤很隱蔽時很有效。來波廣告
3.5#define
#define是一個很有用的C語法, 它允許程式設計師在程序編譯之前給常量命名。在Arduino中,定義的常量不會佔用晶片上的任何程序內存空間。在編譯時編譯器會用事先定義的值來取代這些常量。然而這樣做會產生一些副作用,例如,一個已被定義的常量名已經包含在了其他常量名或者變量名中。在這種情況下, 文本將被#defined定義的數字或文本所取代。通常情況下, 優先考慮使用const關鍵字替代#define來定義常量。Arduino擁有和C相同的語法規範。
語法:
#define常量名常量值注意, #是必須的。
例子:
#define ledPin 3
//在編譯時, 編譯器將使用數值3取代任何用到led Pin的地方。
提示:
在#define聲明後不能有分號。
如果存在分號,編譯器會拋出語義不明的錯誤,甚至關閉頁面。
#define led Pin 3;//這是一種錯誤寫法
類似的,
在#define聲明中包含等號也會產生語義不明的編譯錯誤從而導致關閉頁面。
#define led Pin = 3 //這是一種錯誤寫法
3.6#include
#include <avr/pgmspace.h>
prog_uint16_t myConstants[] PROGMEM =
{O, 21140, 702,9128,0,25764,8456,
0,0,0,0,0,0,0,0,29810,8968,29762,29762,4500};
感謝觀看
第三部分結束了
第四部分正在更新中
請期待
。。。。。。。。。。。
<GMORAKEL運維中心>