GD32F3開發(fā)進階教程——基于GD32F303ZET6
定 價:75 元
- 作者:鐘世達
- 出版時間:2022/7/1
- ISBN:9787121437250
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312
- 頁碼:352
- 紙張:
- 版次:01
- 開本:16開
本書通過17個實驗講解GD32F303ZET6微控制器的LCD顯示、觸摸屏、內(nèi)部溫度傳感器、外部溫濕度傳感器、外部SRAM、外部NAND Flash、內(nèi)存管理、SD卡、FatFS文件系統(tǒng)、中文顯示、CAN通信、以太網(wǎng)通信、USB通信、MP3播放、錄音播放、攝像頭,以及IAP在線升級的原理與應用。作為拓展,另有5個實驗分別介紹RS232通信、RS485通信、呼吸燈、電容觸摸按鍵和讀寫內(nèi)部Flash,可參見本書配套資料包。全書程序代碼的編寫規(guī)范均遵循《C語言軟件設計規(guī)范(LY-STD001—2019)》。各實驗采用模塊化設計,以便應用于實際項目和產(chǎn)品中。本書配有豐富的資料包,涵蓋CD32F3蘋果派開發(fā)板原理圖、例程、軟件包、PPT等,資料包將持續(xù)更新,下載鏈接可通過微信公眾號“卓越工程師培養(yǎng)系列”獲取。本書既可以作為高等院校電子信息、自動化等專業(yè)微控制器相關課程的教材,也可以作為微控制器系統(tǒng)設計及相關行業(yè)工程技術人員的入門培訓用書。
鐘世達,2013年畢業(yè)于英國南安普頓大學,電子信息專業(yè),博士學位。2013年至2016年在英國南安普敦大學進行博士后研究,2016年至2018年與南安普頓無線通信研究團隊共同創(chuàng)立英國AccelerComm公司,致力于將符合5G標準的超低延時和超高吞吐量的Polar碼算法進行芯片的IP化和商業(yè)化。2018年至今在深圳大學電子與信息工程學院工作,任助理教授,先后獲得深圳市"孔雀計劃”高層次引進人才、南山區(qū)"領航人才”等榮譽。鐘世達博士主要從事大規(guī)模集成電路的可測試性設計、SOC低功耗集成電路設計、5G信道編碼算法和智能多天線(MIMO)通信技術的開發(fā)及其在SDR或FPGA平臺上的實現(xiàn)、邊緣計算算法的軟硬件一體化設計。以第一作者、通信作者發(fā)表國內(nèi)外期刊、會議論文20余篇,申請發(fā)明專利10余項。
第1章 EXMC與LCD顯示實驗 1
1.1 實驗內(nèi)容 1
1.2 實驗原理 1
1.2.1 LCD顯示模塊 1
1.2.2 NT35510的顯存 3
1.2.3 NT35510常用指令 3
1.2.4 EXMC簡介 6
1.2.5 LCD驅動流程 11
1.3 實驗代碼解析 11
1.3.1 EXMC文件對 11
1.3.2 LCD文件對 14
1.3.3 Main.c文件 21
1.3.4 實驗結果 23
本章任務 23
本章習題 23
第2章 觸摸屏實驗 24
2.1 實驗內(nèi)容 24
2.2 實驗原理 24
2.2.1 觸摸屏分類 24
2.2.2 投射式觸摸屏工作原理 24
2.2.3 GT1151Q芯片 25
2.2.4 GT1151Q常用寄存器 26
2.3 實驗代碼解析 28
2.3.1 GT1151Q文件對 28
2.3.2 Touch文件對 33
2.3.3 Canvas文件對 38
2.3.4 Main.c文件 41
2.3.5 實驗結果 42
本章任務 42
本章習題 42
第3章 內(nèi)部溫度與外部溫濕度監(jiān)測實驗 43
3.1 實驗內(nèi)容 43
3.2 實驗原理 43
3.2.1 內(nèi)部溫度模塊 43
3.2.2 溫濕度傳感器SHT20 43
3.2.3 SHT20傳感器電路 44
3.2.4 SHT20通信 44
3.2.5 外部溫濕度計算 45
3.3 實驗代碼解析 45
3.3.1 ADC文件對 45
3.3.2 InTemp文件對 47
3.3.3 SHT20文件對 48
3.3.4 TempHumidityTop文件對 51
3.3.5 Main.c文件 52
3.3.6 實驗結果 52
本章任務 53
本章習題 53
第4章 讀寫SRAM實驗 54
4.1 實驗內(nèi)容 54
4.2 實驗原理 54
4.2.1 存儲器分類 54
4.2.2 內(nèi)部SRAM相關結構和讀寫過程 54
4.2.3 外部SRAM相關結構與讀寫過程 55
4.3 實驗代碼解析 58
4.3.1 ReadwriteSRAM文件對 58
4.3.2 EXMC.c文件 62
4.3.3 Main.c文件 64
4.3.4 實驗結果 65
本章任務 65
本章習題 65
第5章 讀寫NAND Flash實驗 66
5.1 實驗內(nèi)容 66
5.2 實驗原理 66
5.2.1 Flash簡介 66
5.2.2 HY27UF081G2A芯片簡介 67
5.2.3 ECC算法 67
5.2.4 FTL原理 69
5.2.5 HY27UF081G2A芯片通信方式 70
5.2.6 NAND Flash的讀寫操作 71
5.3 實驗代碼解析 71
5.3.1 ReadwriteNandFlash文件對 71
5.3.2 NandFlash文件對 75
5.3.3 FTL文件對 83
5.3.4 Main.c文件 92
5.3.5 實驗結果 93
本章任務 93
本章習題 94
第6章 內(nèi)存管理實驗 95
6.1 實驗內(nèi)容 95
6.2 實驗原理 95
6.2.1 分塊式內(nèi)存管理原理 95
6.2.2 內(nèi)存分配與釋放流程 96
6.3 實驗代碼解析 98
6.3.1 Malloc文件對 98
6.3.2 MallocTop文件對 105
6.3.3 Main.c文件 110
6.3.4 實驗結果 111
本章任務 111
本章習題 112
第7章 讀寫SD卡實驗 113
7.1 實驗內(nèi)容 113
7.2 實驗原理 113
7.2.1 SDIO模塊 113
7.2.2 SDIO結構框圖 114
7.2.3 SD卡結構框圖 114
7.2.4 SDIO傳輸內(nèi)容 115
7.2.5 SD卡狀態(tài)信息 116
7.2.6 SD卡操作模式 117
7.2.7 SDIO總線協(xié)議 119
7.2.8 SDIO數(shù)據(jù)包格式 119
7.3 實驗代碼解析 120
7.3.1 ReadWriteSDCard文件對 120
7.3.2 SDCard.c文件 127
7.3.3 Main.c文件 128
7.3.4 實驗結果 129
本章任務 130
本章習題 130
第8章 FatFs與讀寫SD卡實驗 131
8.1 實驗內(nèi)容 131
8.2 實驗原理 131
8.3 實驗代碼解析 136
8.3.1 ffconf.h文件 136
8.3.2 diskio.c文件 137
8.3.3 ReadBookByte文件對 141
8.3.4 FatFSTest文件對 145
8.3.5 ProcKeyOne.c文件 151
8.3.6 Main.c文件 152
8.3.7 實驗結果 153
本章任務 153
本章習題 153
第9章 中文顯示實驗 154
9.1 實驗內(nèi)容 154
9.2 實驗原理 154
9.2.1 字符編碼 154
9.2.2 字模和字庫的概念 155
9.2.3 LCD顯示字符的流程 155
9.3 實驗代碼解析 156
9.3.1 FontLib文件對 156
9.3.2 LCD文件對 162
9.3.3 FatFSTest.c文件 164
9.3.4 GUIPlatform.c文件 166
9.3.5 實驗結果 166
本章任務 166
本章習題 166
第10章 CAN通信實驗 167
10.1 實驗內(nèi)容 167
10.2 實驗原理 167
10.2.1 CAN模塊 167
10.2.2 CAN協(xié)議簡介 168
10.2.3 GD32F30x系列微控制器的CAN外設簡介 173
10.2.4 CAN數(shù)據(jù)接收和數(shù)據(jù)發(fā)送路徑 175
10.2.5 CAN部分固件庫函數(shù) 177
10.3 實驗代碼解析 180
10.3.1 CAN文件對 180
10.3.2 Main.c文件 186
10.3.3 實驗結果 187
本章任務 189
本章習題 189
第11章 以太網(wǎng)通信實驗 190
11.1 實驗內(nèi)容 190
11.2 實驗原理 190
11.2.1 以太網(wǎng)模塊 190
11.2.2 DM9000簡介 190
11.2.3 LwIP簡介 192
11.2.4 網(wǎng)絡協(xié)議簡介 192
11.3 實驗代碼解析 194
11.3.1 DM9000文件對 194
11.3.2 Main.c文件 207
11.3.3 實驗結果 208
本章任務 211
本章習題 211
第12章 USB從機實驗 212
12.1 實驗內(nèi)容 212
12.2 實驗原理 212
12.2.1 USB模塊 212
12.2.2 USB協(xié)議簡介 212
12.2.3 USB拓撲結構 213
12.2.4 USB電氣特性 213
12.2.5 USB描述符 214
12.2.6 HID協(xié)議 217
12.2.7 USB通信協(xié)議 218
12.2.8 USB枚舉 221
12.2.9 USBD模塊簡介 221
12.3 實驗代碼解析 222
12.3.1 hid_core文件對 222
12.3.2 Keyboard文件對 227
12.3.3 KeyboardTop.c文件 231
12.3.4 Main.c文件 233
12.3.5 實驗結果 234
本章任務 234
本章習題 235
第13章 MP3實驗 236
13.1 實驗內(nèi)容 236
13.2 實驗原理 236
13.2.1 VS1053b芯片 236
13.2.2 音頻電路原理圖 236
13.2.3 VS1053b芯片數(shù)據(jù)傳輸 238
13.2.4 VS1053b芯片寄存器 239
13.2.5 VS1053b芯片工作過程 239
13.3 實驗代碼解析 243
13.3.1 VS1053文件對 243
13.3.2 MP3Player文件對 252
13.3.3 AudioTop.c文件 263
13.3.4 實驗結果 264
本章任務 266
本章習題 266
第14章 錄音播放實驗 267
14.1 實驗內(nèi)容 267
14.2 實驗原理 267
14.2.1 WAV文件格式 267
14.2.2 VS1053b芯片錄音功能 269
14.2.3 音頻電路錄音部分原理圖 269
14.3 實驗代碼解析 270
14.3.1 Recorder文件對 270
14.3.2 RecordPlayer文件對 277
14.3.3 AudioTop.c文件 282
14.3.4 實驗結果 284
本章任務 285
本章習題 285
第15章 攝像頭實驗 286
15.1 實驗內(nèi)容 286
15.2 實驗原理 286
15.2.1 OV7725簡介 286
15.2.2 攝像頭接口電路原理圖 286
15.2.3 攝像頭功能模塊 287
15.2.4 SCCB協(xié)議 288
15.2.5 圖像的存儲和讀取 292
15.3 實驗代碼解析 296
15.3.1 OV7725文件對 296
15.3.2 Camera文件對 304
15.3.3 SCCB文件對 308
15.3.4 Main.c文件 312
15.3.5 實驗結果 313
本章任務 313
本章習題 313
第16章 照相機實驗 314
16.1 實驗內(nèi)容 314
16.2 實驗原理 314
16.2.1 圖片格式簡介 314
16.2.2 BMP編碼簡介 314
16.2.3 BMP圖片的存儲 317
16.3 實驗代碼解析 317
16.3.1 BMPEncoder文件對 317
16.3.2 Camera.c文件 324
16.3.3 實驗結果 325
本章任務 325
本章習題 325
第17章 IAP在線升級應用實驗 326
17.1 實驗內(nèi)容 326
17.2 實驗原理 326
17.2.1 微控制器編程方式 326
17.2.2 程序執(zhí)行流程 327
17.2.3 用戶程序生成 328
17.3 實驗代碼解析 330
17.3.1 IAP文件對 330
17.3.2 Main.c文件 336
17.3.3 實驗結果 337
本章任務 338
本章習題 338
參考文獻 339