图书介绍
STM32库开发实战指南 基于STM32F4PDF|Epub|txt|kindle电子书版本网盘下载
![STM32库开发实战指南 基于STM32F4](https://www.shukui.net/cover/38/30483044.jpg)
- 刘火良,杨森编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111557456
- 出版时间:2017
- 标注页数:908页
- 文件大小:329MB
- 文件页数:925页
- 主题词:微控制器-系统开发-指南
PDF下载
下载说明
STM32库开发实战指南 基于STM32F4PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 如何安装KEIL51
1.1温馨提示1
1.2获取KEIL5安装包1
1.3开始安装KEIL51
1.4安装STM32芯片包3
第2章 如何用DAP仿真器下载程序6
2.1仿真器简介6
2.2硬件连接6
2.3仿真器配置6
2.4选择目标板9
2.5下载程序9
第3章 初识STM3210
3.1什么是STM3210
3.2 STM32能做什么10
3.2.1智能手环11
3.2.2微型四轴飞行器12
3.2.3淘宝众筹12
3.3 STM32选型13
3.3.1 STM32分类13
3.3.2 STM32命名方法14
3.3.3选择合适的MCU14
第4章 寄存器17
4.1寄存器简介17
4.2 STM32的外观17
4.3芯片里面有什么18
4.4存储器映射21
4.5寄存器映射23
4.5.1 STM32的外设地址映射23
4.5.2 C语言对寄存器的封装26
第5章 新建工程——寄存器版31
5.1新建本地工程文件夹工程31
5.1.1新建本地工程文件夹31
5.1.2新建工程32
5.2下载程序38
第6章 使用寄存器点亮LED39
6.1 GPIO简介39
6.2 GPIO框图剖析39
6.2.1基本结构分析39
6.2.2 GPIO工作模式42
6.3实验:使用寄存器点亮LED43
6.3.1硬件连接44
6.3.2启动文件44
6.3.3 stm32f4xx.h文件46
6.3.4 main文件47
6.3.5下载验证51
第7章 自己写库——构建库函数雏形52
7.1 STM32函数库简介52
7.2采用库来开发及学习的原因53
7.3实验:构建库函数雏形53
7.3.1修改寄存器地址封装54
7.3.2定义访问外设的结构体指针55
7.3.3定义初始化结构体59
7.3.4定义引脚模式的枚举类型60
7.3.5定义GPIO初始化函数62
7.3.6使用函数点亮LED64
7.3.7下载验证66
7.3.8总结66
第8章 初识STM32标准库67
8.1 CMSIS标准及库层次关系67
8.1.1库目录、文件简介68
8.1.2各库文件间的关系74
8.2使用帮助文档75
8.2.1常用官方资料75
8.2.2初识库函数76
第9章 新建工程——库函数版78
9.1新建本地工程文件夹78
9.2新建工程79
9.3配置魔术棒选项卡82
9.4下载器配置85
9.5选择Flash大小86
第10章GPIO输出——使用固件库点亮LED88
10.1硬件设计88
10.2软件设计88
10.2.1编程要点89
10.2.2代码分析89
10.2.3下载验证94
10.3 STM32标准库补充知识94
第11章GPIO输入——按键检测98
11.1硬件设计98
11.2软件设计99
11.2.1编程要点99
11.2.2代码分析99
11.2.3下载验证102
第12章GPIO——位带操作103
12.1位带简介103
12.1.1外设位带区103
12.1.2 SRAM位带区104
12.1.3位带区和位带别名区地址转换104
12.2 GPIO位带操作105
第13章 启动文件108
13.1启动文件简介108
13.2查找ARM汇编指令108
13.3启动文件代码讲解109
第14章RCC——使用HSE/HSI配置时钟116
14.1 RCC主要作用——时钟部分116
14.2 RCC框图剖析——时钟树116
14.2.1系统时钟116
14.2.2其他时钟121
14.3配置系统时钟实验122
14.3.1使用HSE122
14.3.2使用HSI122
14.3.3硬件设计123
14.3.4软件设计123
14.3.5下载验证129
第15章STM32中断应用概览130
15.1异常类型130
15.2 NVIC简介131
15.2.1 NVIC寄存器简介131
15.2.2 NVIC中断配置固件库132
15.3优先级的定义132
15.3.1优先级定义132
15.3.2优先级分组133
15.4中断编程134
第16章EXT I——外部中断/事件控制器136
16.1 EXTI简介136
16.2 EXTI功能框图136
16.3中断/事件线138
16.4 EXTI初始化结构体详解139
16.5外部中断控制实验139
16.5.1硬件设计140
16.5.2软件设计140
16.5.3下载验证144
第17章SysTick——系统定时器145
17.1 SysTick简介145
17.2 SysTick寄存器介绍145
17.3 SysTick定时实验146
17.3.1硬件设计146
17.3.2软件设计146
第18章 通信的基本概念152
18.1串行通信与并行通信152
18.2全双工、半双工及单工通信153
18.3同步通信与异步通信153
18.4通信速率154
第19章USART——串口通信155
19.1串口通信协议简介155
19.1.1物理层155
19.1.2协议层158
19.2 STM32的USART简介159
19.3 USART功能框图160
19.4 USART初始化结构体详解166
19.5 USART 1接发通信实验167
19.5.1硬件设计168
19.5.2软件设计168
19.5.3下载验证173
19.6 USART1指令控制RGB彩灯实验174
19.6.1硬件设计174
19.6.2软件设计174
19.6.3下载验证179
第20章DMA180
20.1 DMA简介180
20.2 DMA功能框图180
20.3 DMA数据配置184
20.4 DMA初始化结构体详解188
20.5 DMA存储器到存储器模式实验190
20.5.1硬件设计190
20.5.2软件设计190
20.5.3下载验证195
20.6 DMA存储器到外设模式实验195
20.6.1硬件设计195
20.6.2软件设计195
20.6.3下载验证199
第21章 常用存储器介绍200
21.1存储器种类200
21.2 RAM存储器200
21.2.1 DRAM201
21.2.2 SRAM202
21.2.3 DRAM与SRAM的应用场合202
21.3非易失性存储器202
21.3.1 ROM存储器202
21.3.2 Flash存储器203
第22章I2C——读写EEPROM205
22.1 I2C协议简介205
22.1.1 I2C物理层205
22.1.2协议层206
22.2 STM32的I2C特性及架构209
22.2.1STM32的I2C外设简介209
22.2.2 STM32的I2C架构剖析210
22.2.3通信过程212
22.3 I2C初始化结构体详解213
22.4 I2C ——读写EEPROM实验215
22.4.1硬件设计215
22.4.2软件设计216
22.4.3下载验证234
第23章SPI——读写串行Flash235
23.1 SPI协议简介235
23.1.1 SPI物理层235
23.1.2协议层236
23.2 STM32的SPI特性及架构238
23.2.1 STM32的SPI外设简介238
23.2.2 STM32的SPI架构剖析239
23.2.3通信过程241
23.3 SPI初始化结构体详解242
23.4 SPI——读写串行Flash实验243
23.4.1硬件设计243
23.4.2软件设计244
23.4.3下载验证264
第24章 串行Flash文件系统FatFs265
24.1文件系统265
24.2 FatFs文件系统简介266
24.2.1 FatFs的目录结构266
24.2.2 FatFs帮助文档266
24.2.3 FatFs源码267
24.3 FatFs文件系统移植实验268
24.3.1 FatFs程序结构图268
24.3.2硬件设计269
24.3.3 FatFs移植步骤269
24.3.4 FatFs底层设备驱动函数271
24.3.5 FatFs功能配置276
24.3.6 FatFs功能测试277
24.3.7下载验证280
24.4 FatFs功能使用实验281
24.4.1硬件设计281
24.4.2软件设计281
24.4.3下载验证286
第25章FMC——扩展外部SDRAM287
25.1 SDRAM控制原理287
25.1.1 SDRAM信号线288
25.1.2控制逻辑289
25.1.3地址控制289
25.1.4 SDRAM的存储阵列289
25.1.5数据输入输出289
25.1.6 SDRAM的命令290
25.1.7 SDRAM的初始化流程295
25.1.8 SDRAM的读写流程296
25.2 FMC简介297
25.3 FMC框图剖析298
25.4 FMC的地址映射300
25.5 SDRAM时序结构体302
25.6 SDRAM初始化结构体303
25.7 SDRAM命令结构体304
25.8 FMC——扩展外部SDRAM实验305
25.8.1硬件设计305
25.8.2软件设计305
25.8.3下载验证316
第26章LTDC/DMA2D——液晶显示317
26.1显示器简介317
26.1.1液晶显示器317
26.1.2 LED和OLED显示器318
26.1.3显示器的基本参数319
26.2液晶屏控制原理319
26.2.1液晶面板的控制信号320
26.2.2液晶数据传输时序321
26.2.3显存323
26.3 LTDC液晶控制器简介323
26.3.1图像数据混合323
26.3.2 LTDC结构框图剖析324
26.4 DMA2D图形加速器简介327
26.5 LTDC初始化结构体329
26.6 LTDC层级初始化结构体331
26.7 DMA2D初始化结构体334
26.8 LTDC/DMA2D——液晶显示实验336
26.8.1硬件设计336
26.8.2软件设计338
26.8.3下载验证358
第27章LTDC——液晶显示中英文359
27.1字符编码359
27.1.1 ASCII编码359
27.1.2中文编码362
27.1.3 Unicode字符集和编码365
27.1.4 UTF-32365
27.1.5 UTF-16365
27.1.6 UTF-8366
27.1.7 BOM367
27.2字模简介367
27.2.1字模的构成368
27.2.2字模显示原理368
27.2.3如何制作字模370
27.2.4字模寻址公式371
27.2.5存储字模文件372
27.3 LTDC——各种模式的液晶显示字符实验372
27.3.1硬件设计373
27.3.2显示ASCII编码的字符373
27.3.3显示GB2312编码的字符382
27.3.4显示任意大小的字符391
27.3.5下载验证398
第28章 电容触摸屏——触摸画板399
28.1触摸屏简介399
28.1.1电阻触摸屏检测原理399
28.1.2电容触摸屏检测原理401
28.2电容触摸屏控制芯片402
28.2.1 GT9157芯片的引脚403
28.2.2上电时序与I2C设备地址404
28.2.3寄存器配置404
28.2.4读取坐标信息406
28.3电容触摸屏——触摸画板实验408
28.3.1硬件设计408
28.3.2软件设计409
28.3.3下载验证430
第29章ADC——电压采集431
29.1 ADC简介431
29.2 ADC功能框图剖析431
29.2.1 ADC功能431
29.2.2电压转换437
29.3 ADC初始化结构体详解437
29.4独立模式单通道采集实验438
29.4.1硬件设计439
29.4.2软件设计439
29.4.3下载验证443
29.5独立模式多通道采集实验443
29.5.1硬件设计443
29.5.2软件设计443
29.5.3下载验证449
29.6三重ADC交替模式采集实验449
29.6.1硬件设计449
29.6.2软件设计450
29.6.3下载验证455
第30章TIM——基本定时器456
30.1 TIM简介456
30.2基本定时器456
30.3基本定时器功能框图458
30.4定时器初始化结构体详解460
30.5基本定时器定时实验461
30.5.1硬件设计461
30.5.2软件设计461
30.5.3下载验证464
第31章TIM——高级定时器465
31.1高级控制定时器465
31.2高级控制定时器功能框图466
31.3输入捕获应用476
31.3.1测量脉宽或者频率476
31.3.2 PWM输入模式477
31.4输出比较应用478
31.5定时器初始化结构体详解480
31.6 PWM互补输出实验483
31.6.1硬件设计484
31.6.2软件设计484
31.6.3下载验证488
31.7 PWM输入捕获实验489
31.7.1硬件设计489
31.7.2软件设计489
31.7.3下载验证494
第32章TIM——电容按键检测495
32.1电容按键原理495
32.2电容按键检测实验496
32.2.1硬件设计497
32.2.2软件设计497
32.2.3下载验证504
第33章SDIO—— SD卡读写测试505
33.1 SDIO简介505
33.2 SD卡物理结构506
33.3 SDIO总线507
33.3.1总线拓扑507
33.3.2总线协议508
33.3.3命令510
33.3.4响应512
33.4 SD卡的操作模式及切换514
33.4.1 SD卡的操作模式514
33.4.2卡识别模式514
33.4.3数据传输模式516
33.5 STM32的SDIO功能框图516
33.6 SDIO初始化结构体521
33.7 SDIO命令初始化结构体522
33.8 SDIO数据初始化结构体523
33.9 SD卡读写测试实验523
33.9.1硬件设计524
33.9.2软件设计524
33.9.3下载验证549
第34章 基于SD卡的FatFs文件系统550
34.1 FatFs移植步骤550
34.2 FatFs接口函数552
34.3 FatFs功能测试557
第35章I2S——音频播放与录音输入561
35.1 I2S简介561
35.1.1数字音频技术561
35.1.2 I2S总线接口562
35.1.3音频数据传输协议标准562
35.2 I2S功能框图565
35.3 WM8978音频编译码器567
35.4 WAV格式文件569
35.4.1 RIFF文件规范570
35.4.2 WAV文件570
35.4.3 WAV文件实例分析571
35.5 I2S初始化结构体详解571
35.6录音与回放实验572
35.6.1硬件设计573
35.6.2软件设计573
35.6.3下载验证601
35.7 MP3播放器601
35.7.1 MP3文件结构602
35.7.2 MP3解码库605
35.7.3 Helix解码库移植606
35.7.4 MP3播放器功能实现606
35.7.5下载验证614
第36章ETH—— LwI P以太网通信615
36.1互联网模型615
36.2以太网616
36.2.1 PHY层616
36.2.2 MAC子层617
36.3 TCP/IP协议栈618
36.3.1需要协议栈的原因619
36.3.2各网络层的功能619
36.4以太网外设620
36.4.1 SMI接口621
36.4.2 MII和RMII接口623
36.4.3 MAC数据包发送和接收624
36.4.4 MAC过滤626
36.5 PHY: LAN8720A626
36.6 LwIP:轻型TCP/IP协议栈629
36.7 ETH初始化结构体详解629
36.8以太网通信实验:无操作系统LwIP移植635
36.8.1硬件设计635
36.8.2移植步骤635
36.8.3下载验证661
36.9基于μCOS-Ⅲ移植LwIP实验663
第37章CAN——通信实验680
37.1 CAN协议简介680
37.1.1 CAN物理层680
37.1.2协议层684
37.2 STM32的CAN外设简介690
37.3 CAN初始化结构体698
37.4 CAN发送及接收结构体700
37.5 CAN筛选器结构体701
37.6 CAN——双机通信实验703
37.6.1硬件设计703
37.6.2软件设计704
37.6.3下载验证713
第38章RS-485通信实验714
38.1 RS-485通信协议简介714
38.2 RS-485——双机通信实验715
38.2.1硬件设计715
38.2.2软件设计716
38.2.3下载验证723
第39章 电源管理——实现低功耗724
39.1 STM32的电源管理简介724
39.1.1电源监控器724
39.1.2 STM32的电源系统726
39.1.3 STM32的功耗模式727
39.2电源管理相关的库函数及命令729
39.2.1配置PVD监控功能729
39.2.2 WFI与WFE命令729
39.2.3进入停止模式730
39.2.4进入待机模式731
39.3 PWR——睡眠模式实验732
39.3.1硬件设计732
39.3.2软件设计732
39.3.3下载验证735
39.4 PWR——停止模式实验735
39.4.1硬件设计735
39.4.2软件设计735
39.4.3下载验证739
39.5 PWR——待机模式实验739
39.5.1硬件设计740
39.5.2软件设计740
39.5.3下载验证743
39.6 PWR—— PVD电源监控实验743
39.6.1硬件设计743
39.6.2软件设计745
39.6.3下载验证747
第40章RTC——实时时钟748
40.1RTC简介748
40.2 RTC功能框图解析748
40.3 RTC初始化结构体讲解751
40.4 RTC时间结构体讲解752
40.5 RTC日期结构体讲解753
40.6 RTC闹钟结构体讲解753
40.7 RTC—日历实验754
40.7.1硬件设计754
40.7.2软件设计754
40.7.3下载验证760
40.8 RTC—闹钟实验760
40.8.1硬件设计760
40.8.2软件设计760
40.8.3下载验证765
第41章DCMI—— OV5640摄像头766
41.1摄像头简介766
41.1.1数字摄像头与模拟摄像头的区别766
41.1.2 CCD与CMOS的区别767
41.2 OV5640摄像头767
41.2.1 OV5640传感器简介769
41.2.2 OV5640引脚及功能框图769
41.2.3 SCCB时序771
41.2.4 OV5640的寄存器772
41.2.5像素数据输出时序773
41.3 STM32的DCMI接口简介773
41.3.1 DCMI整体框图774
41.3.2 DCMI接口内部结构775
41.3.3同步方式775
41.3.4捕获模式及捕获率776
41.4 DCMI初始化结构体776
41.5 DCMI——OV 5640摄像头实验777
41.5.1硬件设计777
41.5.2软件设计779
41.5.3下载验证797
第42章MDK的编译过程及文件类型全解798
42.1编译过程798
42.1.1编译过程简介798
42.1.2具体工程中的编译过程799
42.2程序的组成、存储与运行800
42.2.1 CODE、RO、RW、 ZI Data域及堆栈空间800
42.2.2程序的存储与运行801
42.3编译工具链802
42.3.1设置环境变量803
42.3.2 armcc、armasm及 armlink804
42.3.3 armar、 fromelf及用户指令807
42.4 MDK工程的文件类型808
42.4.1 uvprojx、 uvoptx、uvguix及ini工程文件809
42.4.2源文件811
42.4.3 Output目录下生成的文件811
42.4.4 Listing目录下的文件831
42.4.5 sct分散加载文件的格式与应用837
42.5实验:自动分配变量到外部SDRAM空间846
42.5.1硬件设计846
42.5.2软件设计847
42.5.3下载验证853
42.6实验:优先使用内部SRAM并把堆区分配到SDRAM空间853
42.6.1硬件设计854
42.6.2软件设计854
42.6.3下载验证864
第43章在SRAM中调试代码865
43.1在RAM中调试代码865
43.2 STM32的启动方式865
43.3内部Flash的启动过程867
43.4实验:在内部SRAM中调试代码869
43.4.1硬件设计869
43.4.2软件设计870
43.4.3下载验证877
第44章 读写内部Flash878
44.1 STM32的内部Flash简介878
44.2对内部Flash的写入过程881
44.3查看工程的空间分布882
44.4操作内部Flash的库函数884
44.5实验:读写内部Flash887
44.5.1硬件设计887
44.5.2软件设计887
44.5.3下载验证893
第45章 设置Flash的读写保护及解除894
45.1选项字节与读写保护894
45.1.1选项字节的内容894
45.1.2 RDP读保护级别896
45.1.3 PCROP代码读出保护898
45.2修改选项字节的过程898
45.3操作选项字节的库函数899
45.4实验:设置读写保护及解除901
45.4.1硬件设计902
45.4.2软件设计902
45.4.3下载验证908