在對arduino有一個基本瞭解之後,就需要在windows上安裝編譯環境,也就是IDE了,可以直接在arduino官網下載程序。網上教程也比較多,這裏就不贅述了。
arduino使用C/C++語言編寫程序,雖然C++兼容C語言,但是這兩種語言又有所區別。
C語言是一種面向過程的編程語言,C++是一種面向對象的編程語言。
早期的arduino核心庫使用C語言編寫,後來引進了面向對象的思想,目前最新的arduino核心庫採用C與C++混合編程。
通常所說的arduino語言,是指arduino核心庫文件提供的各種應用程序編程接口(API)的集合。這些API是對更底層的單片機支持庫進行二次封裝所形成的。
目錄
(一)標識符
標識符用來標識源程序中某個對象的名字,這些對象可以是語句、數據類型、函數、變量、常量和數組等。
- C語言規定一個標識符由字母、數字和下畫線組成,第一個字符必須是字符或下劃線。
- 通常以下劃線開頭的標識符是系統專用的,所以在編寫C語言程序時,最好不要使用以下劃線開頭的標識符,但是下劃線可以用在第一個字符以後的任何位置。
- 標識符的長度不要超過32個字符,儘管C語言規定標識符長度最大可達255個字符,但是在實際編譯時,只有前面32個字符能夠被正確識別。對於一般的應用程序來說,32個字符的標示符長度就足夠用了。
- C語言區分大小寫。
- C語言程序中的標識符命名應該做到簡潔明瞭、含義清晰,這便於程序的閱讀和維護。例如,在比較最大值時,最好使用max來定義該標識符。
(二)關鍵字
在C語言編程中,爲了定義變量、表達語句功能和對一些文件進行預處理,還必須用到一些具有特殊意義的字符,這就是關鍵字。
C語言的關鍵字共有32個,根據關鍵字的作用,可將其分爲數據類型關鍵字、控制語句關鍵字、存儲類型關鍵字和其他關鍵字四類。
1)數據類型關鍵字12個
關鍵字 | 含義 |
char | 聲明字符型變量或函數,其佔用1字節的內存空間,包含256個不同的整數,數值範圍是-128~+128。在存儲字符時,字符需要用單引號引用。例如“char col = ‘c’;”。 字符都是以數字形式存儲在char變量中的。 |
short | 表示短整型數據,一般佔2個字節(16個二進制位)。有符號的範圍:-32768 ~ 32767。無符號的範圍0到65535。 |
int | 表示基本整型數據,一般佔4個字節(32個二進制位)。有符號的範圍:-2147483648 ~ 2147483647。無符號的範圍:0 ~ 4294967295。 |
long | 表示長整型數據,一般佔4個字節(32個二進制位)。有符號的範圍:-2147483648 ~ 2147483647。無符號的範圍:0 ~ 4294967295。 |
float | 表示單精度浮點型數據,一般佔4個字節(32個二進制位,1bit(符號位) 8bits(指數位) 23bits(尾數位))。範圍:-3.40E+38 ~ +3.40E+38 。精度:6 ~ 7位有效數字。 |
double | 表示雙精度浮點型數據,一般佔8個字節(64個二進制位,1bit(符號位) 11bits(指數位) 52bits(尾數位))。範圍:-1.79E+308 ~ +1.79E+308。精度:15 ~ 16位有效數字。 |
unsigned | 表示無符號數據。 |
signed | 表示有符號數據,默認不用寫。 |
union | 表示共用體(也叫聯合)類型數據,共用體表示幾個變量共用一個內存位置,在不同的時間保存不同的數據類型和不同長度的變量。所有的共用體成員共用一個空間,並且同一時間只能儲存其中一個成員變量的值(以包含數據類型中佔最大字節爲該共用體所佔的字節),已達到節省空間的目的(還有一個節省空間的類型:位域)。 |
enum | 表示枚舉類型數據,提供了一組常量的集合,枚舉元素本身由系統定義了一個表示序號的數值,如果沒有初始化則從0開始順序定義爲0,1,2 …。 |
struct | 表示結構體類型數據,是一種構造類型,它是由若干“成員”組成的。 每一個成員可以是一個基本數據類型或者又是一個構造類型。 |
void | 表示無類型數據。 |
2)控制語句關鍵字12個
語句類型 | 關鍵字 | 含義 |
循環語句 | for | 一種循環語句 |
do | 循環語句的循環體 | |
while | 循環語句的循環條件 | |
break | 跳出當前循環 | |
continue | 結束當前循環, | |
條件語句 | if | 條件語句 |
else | 條件語句否定分支(與if語句連用) | |
goto | 無條件跳轉語句 | |
開關語句 | switch | 用於開關語句 |
case | 開關語句分支 | |
default | 開關語句中的“其他”分支 | |
返回語句 | return | 子程序返回語句(可以帶參數,也可以不帶參數) |
3)存儲類型關鍵字4個
關鍵字 | 含義 |
auto | 聲明自動變量,一般不使用 |
extern | 聲明變量是在其他文件中聲明(也可以看爲引用變量) |
register | 聲明寄存器變量 |
static | 聲明靜態變量 |
4)其他關鍵字4個
關鍵字 | 含義 |
const | 聲明只讀變量 |
sizeof | 計算數據類型長度 |
typedef | 用以給數據類型取別名 |
volatile | 說明變量在程序執行中可被隱含地改變 |