图书介绍
STM32库开发实战指南PDF|Epub|txt|kindle电子书版本网盘下载
- 刘火良,杨森编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111426370
- 出版时间:2013
- 标注页数:482页
- 文件大小:95MB
- 文件页数:496页
- 主题词:微控制器-系统开发-指南
PDF下载
下载说明
STM32库开发实战指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
前言2
第一部分 库开发初级篇2
第1章 为什么学习STM322
1.1嵌入式技术知识结构2
1.2嵌入式工程师成长之路3
1.3为什么学习STM324
1.4如何学习STM324
第2章 初识STM32固件库5
2.1 STM32神器之库开发5
2.1.1什么是STM32库5
2.1.2为什么采用库开发6
2.2 STM32结构及库层次关系7
2.2.1 CMSIS标准7
2.2.2库目录、文件简介8
2.2.3 STM32固件库文件间的关系14
2.2.4使用库帮助文档15
第3章GPIO入门之流水灯18
3.1安装MDK18
3.2建立工程模板19
3.2.1新建工程19
3.2.2配置J-LINK硬件调试25
3.3如何编译和下载程序27
3.3.1如何编译程序27
3.3.2如何下载程序27
第4章 深入分析流水灯例程30
4.1 STM32的GPIO30
4.2 STM32的地址映射33
4.2.1温故而知新stm32f10x.h文件33
4.2.2外设基地址35
4.2.3总线外设基地址36
4.2.4寄存器组基地址37
4.3 STM32固件库对寄存器的封装38
4.4 STM32的时钟系统39
4.4.1时钟树&时钟源39
4.4.2高速外部时钟41
4.4.3 HCLK、 FCLK、 PCLK1、PCL K242
4.5 LED具体代码分析42
4.5.1实验描述及工程文件清单42
4.5.2配置工程环境43
4.5.3编写用户文件44
4.5.4初始化结构体 ——GPIO-InitIypeDef类型46
4.5.5初始化库函数——GPIO-Init()47
4.5.6开启外设时钟48
4.5.7控制I/O输出高、低电平52
4.5.8 led.h文件52
4.5.9 main文件53
4.6 GPIO-Init()函数的实现55
4.6.1规范的位操作方法55
4.6.2 GPIO-Init()实现代码分析55
4.6.3再论开发方式60
4.7开发步骤总结61
第5章 调试程序62
5.1 MDK软件仿真调试62
5.2使用J-LINK进行硬件调试64
5.2.1硬件调试64
5.2.2软件编译过程65
53 MDK使用小技巧66
第二部分 库开发中级篇70
第6章GPIO再举例之按键实验70
6.1 GPIO的8种工作模式70
6.1.1 4种输入模式71
6.1.2 4种输出模式71
6.2按键实验分析72
6.3按键代码分析72
6.3.1实验描述及工程文件清单72
6.3.2配置工程环境73
6.3.3 main文件73
6.3.4 GPIO初始化配置74
6.3.5利用固件库的数据类型75
6.3.6实现LED反转77
6.3.7实验现象77
第7章EXTI之按键中断实验78
7.1 STM32的中断和异常78
7.2 NVIC中断控制器81
7.2.1 NVIC结构体成员81
7.2.2抢占优先级和响应优先级82
7.2.3 NVIC的优先级组83
7.3 EXTI外部中断83
7.4中断检测按键实验分析84
7.4.1实验描述及工程文件清单84
7.4.2配置工程环境85
7.4.3 main文件86
7.4.4配置外部中断86
7.4.5 AFIO时钟87
7.4.6 NVIC初始化配置88
7.4.7 EXTI初始化配置89
7.4.8编写中断服务函数89
7.4.9实验现象91
第8章 串口通信(USART)92
8.1异步串口通信协议92
8.2直通线和交叉线93
8.3串口工作过程分析94
8.3.1波特率控制94
8.3.2收发控制96
8.3.3数据存储转移96
8.4串口通信实验分析96
8.4.1实验描述及工程文件清单96
8.4.2配置工程环境97
8.4.3 main文件97
8.4.4 USAR7.初始化配置98
8.4.5 printf()函数重定向101
8.4.6 USART1-printf()函数103
8.4.7实验现象106
第9章 库函数开发小结107
9.1初始化107
9.2数据输入输出108
9.3状态位、标志位108
9.3.1事件109
9.3.2标志位的检查与清除109
9.4外设函数分类110
第10章DMA——为CPU减负112
10.1 DMA功能简介112
10.2 DMA工作分析112
10.3 DMA实例之串口通信113
10.3.1实验描述及工程文件清单113
10.3.2配置工程环境114
10.3.3 main文件114
10.3.4 DMA初始化115
10.3.5使用DMA中断121
10.3.6实验现象123
第11章ADC实验(DMA方式)124
11.1 ADC简介124
11.2 SIM32的ADC主要技术指标124
11.3 ADC工作过程分析125
11.4 ADC采集数据实例(采用DMA模式)126
11.4.1实验描述及工程文件清单127
11.4.2配置工程环境128
11.4.3 main文件128
11.4.4 ADC初始化129
11.4.5计算电压值138
11.4.6实验现象138
第12章SysTick(系统滴答定时器)139
12.1 SysTick——操作系统的心跳139
12.2 SysTick工作分析140
12.3使用SysTick精确延时实验分析141
12.3.1实验描述及工程文件清单142
12.3.2配置工程环境142
12.3.3 main文件143
12.3.4配置并启动SysTick143
12.3.5定时时间的计算147
12.3.6编写中断服务函数147
12.3.7使用SysTick测量时间的功能149
12.3.8实验现象149
第13章STM32定时器150
13.1定时器功能简介150
13.2定时器工作分析150
13.2.1基本定时器150
13.2.2通用定时器150
13.2.3高级定时器155
13.3 PWM输出实例分析157
13.3.1实验描述及工程文件清单157
13.3.2配置工程环境157
13.3.3 main文件158
13.3.4定时器初始化159
13.3.5实验现象164
第14章I2C接口168
14.1 I2C协议简介168
14.1.1物理层168
14.1.2协议层169
14.2 STM32的I2C特性及架构170
14.2.1 I2C接口特性170
14.2.2 I2C架构170
14.3 I2C接口读写EEPROM实验171
14.3.1实验描述及工程文件清单171
14.3.2配置工程环境171
14.3.3 main文件172
14.3.4 I2C接口初始化173
14.3.5对EEPROM的读写操作177
14.3.6使用I2C读写EEPROM流程总结186
14.3.7实验现象186
第15章SPI模块188
15.1 SPI协议简介188
15.1.1 SPI信号线188
15.1.2 SPI模式189
15.2 STM32的SPI特性及架构190
15.2.1 STM32的SPI特性190
15.2.2 STM32的SPI架构分析190
15.3 SPI接口读取Flash实例分析191
15.3.1实验描述及工程文件清单192
15.3.2配置工程环境193
15.3.3 main文件193
15.3.4 SPI初始化195
15.3.5控制Flash的命令199
15.3.6读取厂商ID202
15.3.7擦除Flash内容203
15.3.8向Flash写入数据207
15.3.9从Flash读取数据210
15.3.10小结211
15.3.11实验现象211
第16章CAN控制器212
16.1 CAN协议简介212
16.1.1物理层212
16.1.2 CAN的报文种类及结构213
16.1.3同步215
16.2 STM32的CAN特性及架构217
16.2.1 CAN特性217
16.2.2 CAN架构218
16.3双CAN通信实验分析219
16.3.1实验描述及工程文件清单219
16.3.2配置工程环境220
16.3.3 main文件221
16.3.4配置CAN接口223
16.3.5打包报文232
16.3.6发送报文234
16.3.7接收报文、编写中断服务函数234
16.3.8实验小结236
16.3.9实验现象237
第三部分 库开发高级篇240
第17章SDIO之SD卡驱动240
17.1 SD协议简介240
17.1.1卡的种类240
17.1.2 SDIO基本架构241
17.2 STM32的SDIO接口241
17.2.1从SDIO的时钟说起242
17.2.2 SDIO的命令格式242
17.2.3数据传输格式243
17.3 SD卡读写实验分析243
17.3.1实验描述及工程文件清单243
17.3.2配置工程环境244
17.3.3 main文件246
17.3.4 SDIO初始化247
17.3.5卡的上电识别流程249
17.3.6卡的初始化流程256
17.3.7对SD卡进行读写259
17.3.8原版官方驱动例程的bug263
17.3.9实验现象264
第18章 文件系统之FATFS R0.09265
18.1什么是文件系统265
18.2 FATFS文件系统简介266
18.2.1 FATFS的目录结构266
18.2.2 FATFS帮助文档266
18.2.3 FATFS源码267
18.3移植FATFS文件系统实验267
18.3.1实验描述及工程文件清单267
18.3.2配置工程环境269
18.3.3为文件系统添加底层驱动270
18.3.4添加简体中文和 长文件名支持274
18.3.5 main文件274
18.3.6实验现象277
第19章MP3播放器278
19.1 MP3文件探秘278
19.1.1文件格式278
19.1.2 MP3文件的原始数据278
19.1.3 MP3文件格式279
19.2 VS1003硬件解码芯片279
19.2.1 VS1003芯片简介280
19.2.2 TDA1308芯片280
19.3 MP3播放器实验280
19.3.1实验描述及工程文件清单280
19.3.2配置工程环境282
19.3.3 main文件283
19.3.4控制VS1003进入准备状态284
19.3.5播放MP3文件286
19.3.6 STM32的堆栈291
19.3.7实验现象294
第20章USB大容量存储器实例295
20.1 USB协议分析295
20.1.1协议版本295
20.1.2 USB电气特性295
20.1.3 USB通信模型296
20.1.4 USB枚举298
20.2 STM32的USB控制器299
20.3 USB读取SD卡——模拟U盘实验301
20.3.1实验描述及工程文件清单301
20.3.2配置工程环境302
20.3.3 USB固件库说明303
20.3.4 main文件305
20.3.5基本配置306
20.3.6 USB初始化308
20.3.7中断服务函数310
20.3.8 BOT和SCSI协议313
20.3.9实验现象316
第21章LCD触摸屏画板317
21.1 LCD控制器简介317
21.1.1 ILI9341控制器结构317
21.1.2像素点的数据格式317
21.1.3 ILI9341的通信时序319
21.2用STM32驱动LCD320
21.2.1 FSMC简介320
21.2.2用FSMC模拟8080时序322
21.3触摸屏感应原理322
21.4 TSC2046触摸屏控制器323
21.5 LCD触摸屏画板实验323
21.5.1实验描述及工程文件清单323
21.5.2配置工程环境325
21.5.3 main文件326
21.5.4初始化FSMC模式327
21.5.5 FSMC模拟8080读写 参数、命令332
21.5.6液晶屏画点函数334
21.5.7触摸屏校正338
21.5.8检测触点、画点341
21.5.9实验现象342
第22章 字库及BMP图片显示343
22.1什么是字模343
22.2制作字模344
22.3 BMP图片格式347
22.4显示中英文及BMP图片实验351
22.4.1实验描述及工程文件清单351
22.4.2配置工程环境352
22.4.3 main文件352
22.4.4显示汉字353
22.4.5在SD卡上读取与保存BMP图像358
22.4.6实验现象364
第23章OV7670摄像头驱动365
23.1摄像头的分类365
23.1.1数字摄像头与模拟摄像头的区别365
23.1.2 CCD与CMOS的区别365
23.2 OV7670介绍366
23.2.1 OV7670功能框架366
23.2.2 OV7670管脚封装367
23.3 SCCB总线368
23.3.1 SCCB接口定义368
23.3.2 SCCB时序描述370
23.4摄像头模块372
23.4.1摄像头模块硬件介绍372
23.4.2 OV7670输出时序372
23.4.3 FIFO时序375
23.4.4摄像头的驱动原理376
23.5摄像头驱动实验377
23.5.1实验描述及工程文件清单377
23.5.2配置工程环境379
23.5.3 main文件379
23.5.4 SCCB总线的软件实现380
23.5.5初始化OV7670386
23.5.6采集并显示图像388
23.5.7实验现象393
第24章 以太网及Lwl P协议栈移植394
24.1互联网模型394
24.2以太网395
24.2.1 PHY层395
24.2.2 MAC子层396
24.2.3以太网控制器397
24.3 MAC之上的网络层398
24.3.1为什么在MAC之上还有分层398
24.3.2 TCP/IP协议中各层次的功能398
24.3.3 LwIP协议栈400
24.4 ENC28J60+LwIP以太网实验401
24.4.1实验描述及工程文件清单401
24.4.2配置工程环境402
24.4.3 main文件403
24.4.4 LwIP对底层数据结构的封装404
24.4.5初始化协议栈408
24.4.6 LwIP对底层操作的封装410
24.4.7轮询和计时415
24.4.8 opt.h文件和debug416
24.4.9 LwIP应用420
24.4.10网页服务器421
24.4.11实验现象426
第25章Wi-Fi模块EMW3180驱动430
25.1资料与工具下载430
25.2 EMW3180简介430
25.3 EMW3180驱动实验434
25.3.1实验描述及工程文件清单434
25.3.2配置工程环境435
25.3.3 EMSP API函数435
25.3.4 API函数一览436
25.3.5 main文件439
25.3.6 em380c hal.c文件441
25.3.7实验现象445
第四部分 库开发系统篇448
第26章μC/OS-Ⅲ及其源代码介绍448
26.1 μC/OS简介448
26.1.1操作系统与裸机的区别448
26.1.2 μC/OS实时操作系统448
26.2 μC/OS-Ⅲ与μC/OS- Ⅱ的主要区别450
26.3 μC/OS-Ⅲ源码450
26.4 μOS-Ⅲ工程架构452
第27章 移植μC/O S-Ⅲ到 STM32454
27.1搭建μC/OS工程文件结构454
27.2修改μC/OS代码459
27.2.1修改os-cpu.h文件459
27.2.2修改os-cpu-c.c459
27.2.3修改os-cpu-a.asm文件460
27.2.4修改cpu-a.asm文件461
27.2.5修改startup-stm32f10x-hd.s文件462
27.2.6修改stm32f10x-it.c文件463
27.3编写用户文件464
27.3.1编写includes.h文件464
27.3.2编写BSP相关文件465
27.3.3创建任务466
27.4配置μC/OS-Ⅲ468
第28章 运行多任务473
28.1创建用户任务473
28.2编写用户代码476
28.3任务执行流程479
参考文献482