《Arduino C語言編程實戰》基於Arduino平台,介紹了Arduino編程所需的硬體、編程環境和Arduino上的C語言編程方法。從運算元和運算符開始,《Arduino C語言編程實戰》詳細講解了如何使用C語言構建程式語句,如何編寫函式塊和運行函式,如何引入函式原型,如何理解和使用指針,如何在程式中加入判斷、循環和跳轉,如何使用結構體數據類型,如何使用預處理指令,以及如何使用Arduino IDE附帶的非默認庫。附錄中還介紹了如何選購Arduino編程硬體。 《Arduino C語言編程實戰》適合於對硬體編程感興趣的技術人員閱讀,尤其可作為C語言基礎偏弱的讀者的入門圖書。
基本介紹
- 書名:Arduino C語言編程實戰
- 作者:傑克·普德姆 (Jack Purdum)
- 類型:計算機與網際網路
- 出版日期:2013年10月1日
- 語種:簡體中文
- ISBN:9787115329332
- 外文名:Beginning C for Arduino
- 譯者:麥稈創智
- 出版社:人民郵電出版社
- 頁數:228頁
- 開本:16
- 品牌:人民郵電出版社
圖書相關背景
作者具有獨特的教學和寫作思路,不像高高的講台上站著的老師,而更像溫和的與你面對面交流編程經驗的朋友。
學習程式語言的關鍵在於動手實踐,書中提供了大量的實例可供讀者自行發散思維。
圖書前言摘要
圖書目錄
1.1 一些假設前提 2
1.2 你需要什麼 3
1.2.1 基於Atmel的單片機卡 3
1.2.2 麵包板 5
1.2.3 零碎的小件 5
1.3 安裝軟體 6
1.4 檢查硬體 7
1.4.1 連線USB線纜 7
1.4.2 在集成開發環境中選擇mc板 8
1.4.3 連線埠選擇 9
1.5 載入並運行你的第一個程式 11
1.5.1 Blink程式 11
1.5.2 運行Blink程式代碼 13
1.5.3 編譯Blink程式代碼 14
1.5.4 上載Blink程式 14
1.6 本章小結 16
第2章 ArduinoC 17
2.1 程式語言的通用構件 17
2.1.1 表達式 17
2.1.2 語句 19
2.1.3 語句塊 20
2.1.4 函式塊 21
2.2 程式的5個環節 22
2.3 再來看看Blink程式 24
2.3.1 程式注釋 25
2.3.2 數據定義 26
2.3.3 setup()函式 28
2.3.4 loop()函式 29
2.4 小結 30
2.5 練習 31
第3章 ArduinoC數據類型 32
3.1 boolean數據類型 33
3.2 char數據類型 34
3.2.1 二進制數據 34
3.2.2 char數據類型和字元集 35
3.2.3 生成ASCII字元表 36
3.3 byte數據類型 37
3.4 int數據類型 37
3.5 word數據類型 38
3.6 long數據類型 38
3.7 float和double數據類型 38
3.8 string數據類型 39
3.9 String數據類型 40
3.10 void數據類型 41
3.11 array數據類型 42
3.12 變數的定義與聲明 42
3.12.1 符號表 43
3.12.2 lvalue和rvalue 43
3.12.3“水桶”比喻 45
3.13 使用強制類型轉換符 46
3.14 小結 47
3.15 練習 48
第4章 C語言的邏輯判斷 49
4.1 關係運算符 49
4.2 if語句 50
4.3 升級版Blink程式 52
4.3.1 電路 52
4.3.2 程式代碼 54
4.4 升級版Blink程式的修改 55
4.5 if—else表達式 56
4.6 if語句嵌套 57
4.7 自增和自減運算符 58
4.7.1 兩種類型的自增運算符(++) 59
4.7.2 兩種類型的自減運算符(??) 59
4.7.3 運算符的優先權 60
4.8 switch語句 61
4.9 goto語句 62
4.10 拋棄“魔數” 62
4.11 C語言的預處理指令 63
4.12 正面還是反面 65
4.12.1 初始化環節 65
4.12.2 輸入環節 65
4.12.3 處理環節 65
4.12.4 輸出環節 66
4.12.5 結束環節 66
4.13 思考一下 68
4.14 小結 69
4.15 練習 69
第5章 C語言的循環 70
5.1 正常循環的特徵 70
5.1.1 條件1:變數初始化 70
5.1.2 條件2:循環控制測試 71
5.1.3 條件3:修改循環控制變數的狀態 71
5.2 使用for循環 71
5.3 while循環 73
5.4 do—while循環 74
5.5 break和continue關鍵字 75
5.5.1 break語句 75
5.5.2 continue語句 76
5.6 一段完整的示例 77
5.6.1 環節1:初始化 77
5.6.2 環節2:輸入 77
5.6.3 環節3:處理 77
5.6.4 環節4:輸出 78
5.6.5 環節5:結束 78
5.6.6 代碼5—1是“傻瓜代碼” 80
5.7 循環和編碼風格 81
5.8 小結 82
5.9 練習 82
第6章 C語言函式 83
6.1 函式剖析 84
6.1.1 函式類型說明符 84
6.1.2 函式名 84
6.1.3 函式參數 85
6.1.4 函式體 86
6.1.5 函式簽名 87
6.2 “優質”函式所具備的條件 88
6.2.1 使用面向任務的函式命名 88
6.2.2 函式應該具有聚合力 89
6.2.3 函式應避免耦合 89
6.3 編寫自己的函式 90
6.3.1 設計函式的考慮因素 90
6.3.2 參數列表 91
6.3.3 函式體 92
6.4 邏輯運算符 92
6.4.1 邏輯與運算符(&&) 92
6.4.2 邏輯或(||) 93
6.4.3 邏輯非(!) 94
6.5 編寫自己的函式 94
6.5.1 IsLeapYear()函式和編碼風格 95
6.5.2 實參(Argument)和形參(Parameter) 96
6.5.3 為什麼要堅持一種函式風格 96
6.6 閏年計算程式 97
6.7 函式中數據的傳入和返回 99
6.8 小結 102
6.9 練習 102
第7章 存儲類型和作用域 103
7.1 隱藏程式數據 103
7.2 語句塊作用域 103
7.3 本地作用域 105
7.4 全局作用域 108
7.5 作用域和存儲類型 110
7.5.1 auto存儲類型 110
7.5.2 register存儲類型 110
7.5.3 static存儲類型 111
7.5.4 extern存儲類型 111
7.6 volatile關鍵字 116
7.7 小結 116
7.8 練習 116
第8章 初識指針 117
8.1 定義一個指針 117
8.1.1 指針名 117
8.1.2 星號 118
8.1.3 指針類型說明符和指針標量 118
8.2 使用指針 121
8.2.1 取值運算符(*) 122
8.2.2 使用取值運算 123
8.3 指針用法小結 125
8.4 指針為什麼有用 126
8.5 指針和數組 129
8.6 小結 134
8.7 練習 134
第9章 高效使用指針 136
9.1 針對指針的關係判斷 136
9.2 指針運算 137
9.3 二維數組 141
9.3.1 一點小改進 144
9.3.2 幾維 144
9.4 二維數組和指針 144
9.5 函式指針 147
9.5.1 函式指針數組 149
9.5.2 enum數據類型 149
9.6 右左右左規則 153
9.7 小結 154
9.8 練習 154
第10章 結構、聯合和數據存儲 155
10.1 結構 155
10.1.1 聲明結構 156
10.1.2 定義結構 156
10.1.3 訪問結構成員 157
10.1.4 從函式調用返回結構 160
10.1.5 使用結構指針 162
10.1.6 初始化結構 164
10.1.7 結構數組 165
10.2 聯合 165
10.3 EEPROM記憶體 166
10.4 數據日誌 167
10.5 其他存儲選擇 175
10.5.1Shield 175
10.5.2 SD卡的其他功能 176
10.6 小結 177
10.7 練習 178
第11章 C預處理和按位操作 179
11.1 預處理指令 179
11.1.1 #undef 180
11.1.2 #line 181
11.1.3 #if條件指令 182
11.1.4 #include 183
11.2 帶參宏 184
11.2.1 按位操作符 184
11.2.2 按位移動操作符 187
11.2.3 使用不同進制的整型常量 188
11.2.4 帶參宏(補充內容) 189
11.3 小結 189
11.4 練習 189
第12章 Arduino庫 191
12.1 庫 191
12.1.1 Arduino庫 191
12.1.2 其他庫 196
12.2 編寫自己的庫 198
12.2.1 庫頭檔案 199
12.2.2 庫原始碼檔案(Dates.cpp) 200
12.3 設定ArduinoIDE以使用自己的庫 203
12.4 使用Dates庫實現的示例程式 203
12.4.1 向IDE添加Easter程式 205
12.4.2 keyword.txt檔案 205
12.4.3 關鍵字顏色(theme.txt) 206
12.5 小結 207
12.6 練習 207
附錄A 供應商和資源 208
A.1供應商 208
A.1.1SeeedinoStudio 208
A.1.2DiligentInc 208
A.1.3OSEPP 209
A.1.4TinyosElectronics 210
A.1.5CookingHacks 210
A.2資源 210
附錄B 實驗用電子元器件 212
B.1開發板 212
B.2麵包板 212
B.3電子元件 212
B.4網購元件 213
B.5實驗 213
練習答案 215
第2章 215
第3章 215
第4章 217
第5章 219
第6章 221
第7章 222
第8章 222
第9章 223
第10章 224
第11章 226
第12章 227