GD32F3开发进阶教程——基于GD32F303ZET6
定 价:75 元
- 作者:钟世达
- 出版时间:2022/7/1
- ISBN:9787121437250
- 出 版 社:电子工业出版社
- 中图法分类:TP312
- 页码:352
- 纸张:
- 版次:01
- 开本:16开
本书通过17个实验讲解GD32F303ZET6微控制器的LCD显示、触摸屏、内部温度传感器、外部温湿度传感器、外部SRAM、外部NAND Flash、内存管理、SD卡、FatFS文件系统、中文显示、CAN通信、以太网通信、USB通信、MP3播放、录音播放、摄像头,以及IAP在线升级的原理与应用。作为拓展,另有5个实验分别介绍RS232通信、RS485通信、呼吸灯、电容触摸按键和读写内部Flash,可参见本书配套资料包。全书程序代码的编写规范均遵循《C语言软件设计规范(LY-STD001—2019)》。各实验采用模块化设计,以便应用于实际项目和产品中。本书配有丰富的资料包,涵盖CD32F3苹果派开发板原理图、例程、软件包、PPT等,资料包将持续更新,下载链接可通过微信公众号“卓越工程师培养系列”获取。本书既可以作为高等院校电子信息、自动化等专业微控制器相关课程的教材,也可以作为微控制器系统设计及相关行业工程技术人员的入门培训用书。
钟世达,2013年毕业于英国南安普顿大学,电子信息专业,博士学位。2013年至2016年在英国南安普敦大学进行博士后研究,2016年至2018年与南安普顿无线通信研究团队共同创立英国AccelerComm公司,致力于将符合5G标准的超低延时和超高吞吐量的Polar码算法进行芯片的IP化和商业化。2018年至今在深圳大学电子与信息工程学院工作,任助理教授,先后获得深圳市"孔雀计划”高层次引进人才、南山区"领航人才”等荣誉。钟世达博士主要从事大规模集成电路的可测试性设计、SOC低功耗集成电路设计、5G信道编码算法和智能多天线(MIMO)通信技术的开发及其在SDR或FPGA平台上的实现、边缘计算算法的软硬件一体化设计。以第一作者、通信作者发表国内外期刊、会议论文20余篇,申请发明专利10余项。
第1章 EXMC与LCD显示实验 1
1.1 实验内容 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 实验内容 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章 内部温度与外部温湿度监测实验 43
3.1 实验内容 43
3.2 实验原理 43
3.2.1 内部温度模块 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 实验内容 54
4.2 实验原理 54
4.2.1 存储器分类 54
4.2.2 内部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 实验内容 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章 内存管理实验 95
6.1 实验内容 95
6.2 实验原理 95
6.2.1 分块式内存管理原理 95
6.2.2 内存分配与释放流程 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 实验内容 113
7.2 实验原理 113
7.2.1 SDIO模块 113
7.2.2 SDIO结构框图 114
7.2.3 SD卡结构框图 114
7.2.4 SDIO传输内容 115
7.2.5 SD卡状态信息 116
7.2.6 SD卡操作模式 117
7.2.7 SDIO总线协议 119
7.2.8 SDIO数据包格式 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 实验内容 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 实验内容 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 实验内容 167
10.2 实验原理 167
10.2.1 CAN模块 167
10.2.2 CAN协议简介 168
10.2.3 GD32F30x系列微控制器的CAN外设简介 173
10.2.4 CAN数据接收和数据发送路径 175
10.2.5 CAN部分固件库函数 177
10.3 实验代码解析 180
10.3.1 CAN文件对 180
10.3.2 Main.c文件 186
10.3.3 实验结果 187
本章任务 189
本章习题 189
第11章 以太网通信实验 190
11.1 实验内容 190
11.2 实验原理 190
11.2.1 以太网模块 190
11.2.2 DM9000简介 190
11.2.3 LwIP简介 192
11.2.4 网络协议简介 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 实验内容 212
12.2 实验原理 212
12.2.1 USB模块 212
12.2.2 USB协议简介 212
12.2.3 USB拓扑结构 213
12.2.4 USB电气特性 213
12.2.5 USB描述符 214
12.2.6 HID协议 217
12.2.7 USB通信协议 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 实验内容 236
13.2 实验原理 236
13.2.1 VS1053b芯片 236
13.2.2 音频电路原理图 236
13.2.3 VS1053b芯片数据传输 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 实验内容 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 实验内容 286
15.2 实验原理 286
15.2.1 OV7725简介 286
15.2.2 摄像头接口电路原理图 286
15.2.3 摄像头功能模块 287
15.2.4 SCCB协议 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 实验内容 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 实验内容 326
17.2 实验原理 326
17.2.1 微控制器编程方式 326
17.2.2 程序执行流程 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