GD32F4藍(lán)莓派開發(fā)板(主控芯片為GD32F470IIH6)配套有2本教程,分別是《GD32F4開發(fā)基礎(chǔ)》和《GD32F4開發(fā)進(jìn)階》。本書是進(jìn)階教程,通過16個(gè)實(shí)驗(yàn)分別介紹GD32F4藍(lán)莓開發(fā)板的LCD顯示、觸摸屏、內(nèi)部溫度與外部溫濕度傳感器、外部SDRAM、外部NAND Flash、內(nèi)存管理、SD卡、FatFs文件系統(tǒng)、中文顯示、CAN通信、以太網(wǎng)通信、USB通信、錄音播放、攝像頭、照相機(jī)以及IAP在線升級(jí)的原理與應(yīng)用。作為拓展,另有5個(gè)實(shí)驗(yàn)分別介紹RS232通信、RS485通信、呼吸燈、電容觸摸按鍵和讀/寫內(nèi)部Flash,可參見本書配套資料包。全書程序代碼的編寫規(guī)范均遵循《C語言軟件設(shè)計(jì)規(guī)范(LY STD0012019)》。各實(shí)驗(yàn)采用模塊化設(shè)計(jì),以便應(yīng)用于實(shí)際項(xiàng)目和產(chǎn)品中。
本書配套資料包含GD32F4藍(lán)莓派開發(fā)板原理圖、例程、軟件包、PPT 等,讀者可免費(fèi)獲取。
第1章 TLI與LCD顯示實(shí)驗(yàn) 1
1.1 實(shí)驗(yàn)內(nèi)容 1
1.2 實(shí)驗(yàn)原理 1
1.2.1 LCD顯示模塊 1
1.2.2 TLI功能框圖 4
1.2.3 IPA功能框圖 5
1.3 實(shí)驗(yàn)代碼解析 7
1.3.1 TLILCD文件對(duì) 7
1.3.2 Main.c文件 30
1.3.3 實(shí)驗(yàn)結(jié)果 31
本章任務(wù) 31
本章習(xí)題 32
第2章 觸摸屏實(shí)驗(yàn) 33
2.1 實(shí)驗(yàn)內(nèi)容 33
2.2 實(shí)驗(yàn)原理 33
2.2.1 觸摸屏分類 33
2.2.2 投射式觸摸屏工作原理 33
2.2.3 GT1151Q芯片 34
2.2.4 GT1151Q常用寄存器 36
2.3 實(shí)驗(yàn)代碼解析 38
2.3.1 GT1151Q文件對(duì) 38
2.3.2 Touch文件對(duì) 42
2.3.3 Canvas文件對(duì) 47
2.3.4 Main.c文件 51
2.3.5 實(shí)驗(yàn)結(jié)果 51
本章任務(wù) 52
本章習(xí)題 __________52
第3章 內(nèi)部溫度與外部溫濕度監(jiān)測(cè)實(shí)驗(yàn) 53
3.1 實(shí)驗(yàn)內(nèi)容 53
3.2 實(shí)驗(yàn)原理 53
3.2.1 內(nèi)部溫度模塊 53
3.2.2 溫濕度傳感器SHT20 54
3.2.3 SHT20傳感器電路 54
3.2.4 SHT20通信 54
3.2.5 外部溫濕度計(jì)算 55
3.3 實(shí)驗(yàn)代碼解析 56
3.3.1 ADC文件對(duì) 56
3.3.2 InTemp文件對(duì) 58
3.3.3 SHT20文件對(duì) 59
3.3.4 TempHumidityTop文件對(duì) 61
3.3.5 Main.c文件 62
3.3.6 實(shí)驗(yàn)結(jié)果 63
本章任務(wù) 64
本章習(xí)題 64
第4章 讀/寫SDRAM 實(shí)驗(yàn) 65
4.1 實(shí)驗(yàn)內(nèi)容 65
4.2 實(shí)驗(yàn)原理 65
4.2.1 存儲(chǔ)器分類 65
4.2.2 MT48LC16M16A2P 6A IT:G芯片 66
4.2.3 SDRAM 芯片內(nèi)部結(jié)構(gòu) 67
4.2.4 SDRAM 控制指令 69
4.2.5 EXMC配置 70
4.3 實(shí)驗(yàn)代碼解析 71
4.3.1 SDRAM 文件對(duì) __________71
4.3.2 ReadwriteSDRAM 文件對(duì) 74
4.3.3 Main.c文件 78
4.3.4 實(shí)驗(yàn)結(jié)果 78
本章任務(wù) 80
本章習(xí)題 80
第5章 讀/寫NAND Flash實(shí)驗(yàn) 81
5.1 實(shí)驗(yàn)內(nèi)容 81
5.2 實(shí)驗(yàn)原理 81
5.2.1 Flash簡(jiǎn)介 81
5.2.2 HY27UF081G2A芯片簡(jiǎn)介 82
5.2.3 ECC算法 83
5.2.4 FTL原理 85
5.2.5 HY27UF081G2A芯片通信方式 86
5.2.6 NAND Flash的讀/寫操作 87
2
GD32F4開發(fā)進(jìn)階
5.3 實(shí)驗(yàn)代碼解析 87
5.3.1 FTL文件對(duì) 87
5.3.2 NandFlash文件對(duì) 99
5.3.3 ReadwriteNandFlash文件對(duì) 106
5.3.4 Main.c文件 110
5.3.5 實(shí)驗(yàn)結(jié)果 110
本章任務(wù) 111
本章習(xí)題 112
第6章 內(nèi)存管理實(shí)驗(yàn) 113
6.1 實(shí)驗(yàn)內(nèi)容 113
6.2 實(shí)驗(yàn)原理 113
6.2.1 分塊式內(nèi)存管理原理 113
6.2.2 內(nèi)存分配與釋放流程 __________115
6.3 實(shí)驗(yàn)代碼解析 116
6.3.1 Malloc文件對(duì) 116
6.3.2 MallocTop文件對(duì) 124
6.3.3 Main.c文件 129
6.3.4 實(shí)驗(yàn)結(jié)果 129
本章任務(wù) 130
本章習(xí)題 130
第7章 讀/寫SD卡實(shí)驗(yàn) 131
7.1 實(shí)驗(yàn)內(nèi)容 131
7.2 實(shí)驗(yàn)原理 131
7.2.1 SDIO模塊 131
7.2.2 SDIO結(jié)構(gòu)框圖 131
7.2.3 SD卡結(jié)構(gòu)框圖 133
7.2.4 SDIO傳輸內(nèi)容 134
7.2.5 SD卡狀態(tài)信息 135
7.2.6 SD卡操作模式 136
7.2.7 SDIO總線協(xié)議 138
7.2.8 SDIO數(shù)據(jù)包格式 139
7.3 實(shí)驗(yàn)代碼解析 140
7.3.1 SDCard.c文件 140
7.3.2 ReadWriteSDCard文件對(duì) 140
7.3.3 Main.c文件 148
7.3.4 實(shí)驗(yàn)結(jié)果 148
本章任務(wù) 149
本章習(xí)題 150
第8章 FatFs與讀/寫SD卡實(shí)驗(yàn) 151
8.1 實(shí)驗(yàn)內(nèi)容 TJETQq151
8.2 實(shí)驗(yàn)原理 151
8.2.1 文件系統(tǒng) 151
8.2.2 FatFs文件系統(tǒng) 151
8.2.3 文件系統(tǒng)空間分布 152
8.2.4 FatFs文件系統(tǒng)移植步驟 153
8.2.5 文件系統(tǒng)操作函數(shù) 154
8.3 實(shí)驗(yàn)代碼解析 158
8.3.1 ffconf.h文件 158
8.3.2 diskio.c文件 159
8.3.3 ReadBookByte文件對(duì) 163
8.3.4 FatFsTest文件對(duì) 167
8.3.5 ProcKeyOne.c文件 174
8.3.6 Main.c文件 174
8.3.7 實(shí)驗(yàn)結(jié)果 175
本章任務(wù) 176
本章習(xí)題 176
第9章 中文顯示實(shí)驗(yàn) 177
9.1 實(shí)驗(yàn)內(nèi)容 177
9.2 實(shí)驗(yàn)原理 177
9.2.1 字符編碼 177
9.2.2 字模和字庫的概念 178
9.2.3 LCD顯示字符的流程 178
9.3 實(shí)驗(yàn)代碼解析 179
9.3.1 FontLib文件對(duì) 179
9.3.2 TLILCD.c文件 186
9.3.3 FatFsTest.c文件 188
9.3.4 GUIPlatform.c文件 1 0 _____189
9.3.5 實(shí)驗(yàn)結(jié)果 189
本章任務(wù) 190
本章習(xí)題 190
第10章 CAN通信實(shí)驗(yàn) 191
10.1 實(shí)驗(yàn)內(nèi)容 191
10.2 實(shí)驗(yàn)原理 191
10.2.1 CAN模塊 191
10.2.2 CAN協(xié)議簡(jiǎn)介 192
10.2.3 GD32F4xx系列微控制器的CAN外設(shè)簡(jiǎn)介 197
10.2.4 CAN數(shù)據(jù)接收和數(shù)據(jù)發(fā)送路徑 200
10.2.5 CAN部分固件庫函數(shù) 201
10.3 實(shí)驗(yàn)代碼解析 204
10.3.1 CAN文件對(duì) 204
10.3.2 Main.c文件 211
10.3.3 實(shí)驗(yàn)結(jié)果 212
本章任務(wù) 215
本章習(xí)題 215
第11章 以太網(wǎng)通信實(shí)驗(yàn) 216
11.1 實(shí)驗(yàn)內(nèi)容 216
11.2 實(shí)驗(yàn)原理 216
11.2.1 以太網(wǎng)模塊 216
11.2.2 網(wǎng)絡(luò)協(xié)議簡(jiǎn)介 217
11.2.3 以太網(wǎng)外設(shè)ENET簡(jiǎn)介 219
11.2.4 LAN8720簡(jiǎn)介 222
11.2.5 LwIP簡(jiǎn)介 222
11.3 實(shí)驗(yàn)代碼解析 223
11.3.1 LAN8720文件對(duì) __________223
11.3.2 Main.c文件 225
11.3.3 實(shí)驗(yàn)結(jié)果 226
本章任務(wù) 229
本章習(xí)題 229
第12章 USB從機(jī)實(shí)驗(yàn) 230
12.1 實(shí)驗(yàn)內(nèi)容 230
12.2 實(shí)驗(yàn)原理 230
12.2.1 USB模塊 230
12.2.2 USB協(xié)議簡(jiǎn)介 230
12.2.3 USB拓?fù)浣Y(jié)構(gòu) 231
12.2.4 USB電氣特性 231
12.2.5 USB描述符 232
12.2.6 HID協(xié)議 236
12.2.7 USB通信協(xié)議 237
12.2.8 USB枚舉 241
12.2.9 USBFS模塊簡(jiǎn)介 241
12.3 實(shí)驗(yàn)代碼解析 241
12.3.1 standard_hid_core文件對(duì) 241
12.3.2 Keyboard文件對(duì) 247
12.3.3 KeyboardTop.c文件 251
12.3.4 Main.c文件 254
12.3.5 實(shí)驗(yàn)結(jié)果 254
本章任務(wù) 255
本章習(xí)題 255
第13章 錄音播放實(shí)驗(yàn) 256
13.1 實(shí)驗(yàn)內(nèi)容 256
13.2 實(shí)驗(yàn)原理 __________256
13.2.1 WM8978芯片 256
13.2.2 WM8978芯片數(shù)據(jù)傳輸 257
13.2.3 WM8978芯片寄存器 260
13.2.4 WAV文件格式 261
13.3 實(shí)驗(yàn)代碼解析 263
13.3.1 WM8978文件對(duì) 263
13.3.2 WavPlayer文件對(duì) 266
13.3.3 Recorder文件對(duì) 272
13.3.4 AudioTop文件對(duì) 278
13.3.5 ProcKeyOne.c文件 281
13.3.6 Main.c文件 281
13.3.7 實(shí)驗(yàn)結(jié)果 281
本章任務(wù) 283
本章習(xí)題 283
第14章 攝像頭實(shí)驗(yàn) 284
14.1 實(shí)驗(yàn)內(nèi)容 284
14.2 實(shí)驗(yàn)原理 284
14.2.1 OV2640簡(jiǎn)介 284
14.2.2 攝像頭接口電路原理圖 285
14.2.3 攝像頭功能模塊 285
14.2.4 SCCB協(xié)議 287
14.2.5 圖像的存儲(chǔ)和讀取 291
14.3 實(shí)驗(yàn)代碼解析 294
14.3.1 DCI文件對(duì) 294
14.3.2 Camera文件對(duì) 300
14.3.3 SCCB文件對(duì) 305
14.3.4 Main.c文件 307
14.3.5 實(shí)驗(yàn)結(jié)果 308
本章任務(wù) 309
本章習(xí)題 309
第15章 照相機(jī)實(shí)驗(yàn) 310
15.1 實(shí)驗(yàn)內(nèi)容 310
15.2 實(shí)驗(yàn)原理 310
15.2.1 圖片格式簡(jiǎn)介 310
15.2.2 BMP編碼簡(jiǎn)介 311
15.2.3 BMP圖片的存儲(chǔ) 313
15.3 實(shí)驗(yàn)代碼解析 314
15.3.1 BMPEncoder文件對(duì) 314
15.3.2 Camera.c文件 321
15.3.3 實(shí)驗(yàn)結(jié)果 322
本章任務(wù) 322
本章習(xí)題 322
第16章 IAP在線升級(jí)應(yīng)用實(shí)驗(yàn) 323
16.1 實(shí)驗(yàn)內(nèi)容 323
16.2 實(shí)驗(yàn)原理 323
16.2.1 微控制器編程方式 323
16.2.2 程序執(zhí)行流程 324
16.2.3 用戶程序生成 326
16.3 實(shí)驗(yàn)代碼解析 327
16.3.1 IAP文件對(duì) 327
16.3.2 Main.c文件 334
16.3.3 實(shí)驗(yàn)結(jié)果 335
本章任務(wù) 336
本章習(xí)題 336
參考文獻(xiàn) 337