本書基于GD32E2杏仁派開發(fā)板(主控芯片為GD32E230C8T6),通過14個實驗介紹GD32E230C8T6微控制器的GPIO、串口、定時器、SysTick、RCU、外部中斷、OLED顯示、DAC和ADC等的原理和應用。作為拓展,本書配套資料包中另有6個實驗分別介紹MCU調(diào)試、RTC、FWDGT、WWDGT,以及基于I2C的EEPROM讀/寫和基于SPI的Flash讀/寫。全書程序代碼的編寫規(guī)范均遵循《C語言軟件設計規(guī)范(LY-STD001—2019)》。各實驗采用模塊化設計,以便于將各模塊應用在實際項目和產(chǎn)品中。本書配有豐富的資料包,涵蓋GD32E2杏仁派開發(fā)板原理圖、例程、軟件包、PPT等,資料包將持續(xù)更新,下載鏈接可通過微信公眾號“卓越工程師培養(yǎng)系列”獲取。本書既可以作為高等院校電子信息、自動化等專業(yè)微控制器相關課程的教材,也可以作為微控制器系統(tǒng)設計及相關行業(yè)工程技術人員的入門培訓用書。
鐘世達,2013年3月畢業(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章 GD32開發(fā)平臺和工具1
1.1 為什么選擇GD321
1.2 GD32E230xx系列芯片介紹1
1.3 GD32E2杏仁派開發(fā)板電路
簡介3
1.4 GD32E2杏仁派開發(fā)板可以開
展的部分實驗11
1.5 GD32微控制器開發(fā)工具的安
裝與配置11
1.5.1 安裝Keil 5.3011
1.5.2 設置Keil 5.3014
本章任務15
本章習題15
第2章 基準工程16
2.1 實驗內(nèi)容16
2.2 實驗原理16
2.2.1 寄存器與固件庫16
2.2.2 Keil編輯和編譯及程序下載
過程20
2.2.3 GD32工程模塊名稱及
說明21
2.2.4 相關參考資料21
2.3 實驗步驟與代碼解析22
本章任務36
本章習題36
第3章 串口電子鐘37
3.1 實驗內(nèi)容37
3.2 實驗原理37
3.2.1 RunClock模塊函數(shù)37
3.2.2 函數(shù)調(diào)用框架39
3.2.3 Proc2msTask與
Proc1SecTask40
3.2.4 程序架構(gòu)40
3.3 實驗步驟與代碼解析41
本章任務45
本章習題45
第4章 GPIO與流水燈46
4.1 實驗內(nèi)容46
4.2 實驗原理46
4.2.1 LED電路原理圖46
4.2.2 GD32E23x系列微控制器的
系統(tǒng)架構(gòu)與存儲器映射46
4.2.3 GPIO功能框圖50
4.2.4 GPIO部分寄存器52
4.2.5 GPIO部分固件庫函數(shù)58
4.2.6 RCU部分寄存器60
4.2.7 RCU部分固件庫函數(shù)61
4.2.8 程序架構(gòu)62
4.3 實驗步驟與代碼解析63
本章任務68
本章習題68
第5章 GPIO與獨立按鍵輸入69
5.1 實驗內(nèi)容69
5.2 實驗原理69
5.2.1 獨立按鍵電路原理圖69
5.2.2 GPIO功能框圖70
5.2.3 GPIO部分寄存器70
5.2.4 GPIO部分固件庫函數(shù)71
5.2.5 按鍵去抖原理71
5.2.6 程序架構(gòu)73
5.3 實驗步驟與代碼解析74
本章任務81
本章習題82
第6章 串口通信83
6.1 實驗內(nèi)容83
6.2 實驗原理83
6.2.1 串口通信協(xié)議83
6.2.2 串口電路原理圖86
6.2.3 串口功能框圖87
6.2.4 串口部分寄存器90
6.2.5 串口部分固件庫函數(shù)94
6.2.6 異常和中斷96
6.2.7 NVIC中斷控制器99
6.2.8 NVIC部分寄存器99
6.2.9 NVIC部分固件庫函數(shù)102
6.2.10 串口模塊驅(qū)動設計104
6.2.11 程序架構(gòu)109
6.3 實驗步驟與代碼解析110
本章任務119
本章習題119
第7章 定時器中斷121
7.1 實驗內(nèi)容121
7.2 實驗原理121
7.2.1 通用定時器L4結(jié)構(gòu)框圖121
7.2.2 通用定時器部分寄存器124
7.2.3 定時器部分固件庫函數(shù)126
7.2.4 RCU部分寄存器129
7.2.5 程序架構(gòu)129
7.3 實驗步驟與代碼解析131
本章任務137
本章習題137
第8章 SysTick138
8.1 實驗內(nèi)容138
8.2 實驗原理138
8.2.1 SysTick功能框圖138
8.2.2 SysTick實驗流程圖分析139
8.2.3 SysTick部分寄存器140
8.2.4 SysTick部分固件庫函數(shù)142
8.2.5 程序架構(gòu)143
8.3 實驗步驟與代碼解析144
本章任務148
本章習題148
第9章 RCU149
9.1 實驗內(nèi)容149
9.2 實驗原理149
9.2.1 RCU功能框圖149
9.2.2 RCU部分寄存器151
9.2.3 RCU部分固件庫函數(shù)156
9.2.4 FMC部分寄存器158
9.2.5 FMC部分固件庫函數(shù)159
9.2.6 程序架構(gòu)159
9.3 實驗步驟161
本章任務164
本章習題164
第10章 外部中斷165
10.1 實驗內(nèi)容165
10.2 實驗原理165
10.2.1 EXTI功能框圖165
10.2.2 EXTI部分寄存器167
10.2.3 EXTI部分固件庫函數(shù)170
10.2.4 SYSCFG部分寄存器171
10.2.5 SYSCFG部分固件庫
函數(shù)173
10.2.6 程序架構(gòu)173
10.3 實驗步驟175
本章任務179
本章習題179
第11章 OLED顯示180
11.1 實驗內(nèi)容180
11.2 實驗原理180
11.2.1 OLED顯示模塊180
11.2.2 SSD1306的顯存182
11.2.3 SSD1306常用命令182
11.2.4 字模選項183
11.2.5 ASCII碼表與取模工具184
11.2.6 GD32E230C8T6的GRAM
與SSD1306的GRAM184
11.2.7 OLED顯示模塊顯示流程185
11.2.8 程序架構(gòu)185
11.3 實驗步驟187
本章任務199
本章習題199
第12章 定時器與PWM輸出200
12.1 實驗內(nèi)容200
12.2 實驗原理200
12.2.1 PWM輸出實驗流程圖
分析200
12.2.2 通用定時器部分寄存器202
12.2.3 通用定時器部分固件庫
函數(shù)205
12.2.4 程序架構(gòu)208
12.3 實驗步驟209
本章任務214
本章習題215
第13章 定時器與輸入捕獲216
13.1 實驗內(nèi)容216
13.2 實驗原理216
13.2.1 輸入捕獲實驗流程圖
分析216
13.2.2 通用定時器部分寄存器218
13.2.3 通用定時器部分固件庫
函數(shù)221
13.2.4 程序架構(gòu)222
13.3 實驗步驟224
本章任務230
本章習題230
第14章 DAC231
14.1 實驗內(nèi)容231
14.2 實驗原理231
14.2.1 TLC5615芯片231
14.2.2 DAC實驗邏輯圖分析233
14.2.3 PCT通信協(xié)議233
14.2.4 PCT通信協(xié)議應用239
14.2.5 程序架構(gòu)241
14.3 實驗步驟243
本章任務254
本章習題254
第15章 ADC255
15.1 實驗內(nèi)容255
15.2 實驗原理255
15.2.1 ADC功能框圖255
15.2.2 ADC時鐘及其轉(zhuǎn)換時間257
15.2.3 ADC實驗邏輯框圖分析257
15.2.4 ADC緩沖區(qū)258
15.2.5 ADC部分寄存器258
15.2.6 ADC部分固件庫函數(shù)263
15.2.7 DMA功能框圖267
15.2.8 DMA部分寄存器269
15.2.9 DMA部分固件庫函數(shù)273
15.2.10 程序架構(gòu)275
15.3 實驗步驟277
本章任務288
本章習題288
附錄A GD32E2杏仁派開發(fā)板原
理圖289
附錄B ASCII碼表290
參考文獻291