图书介绍
STM32库开发实战指南 基于STM32F103PDF|Epub|txt|kindle电子书版本网盘下载
- 刘火良,杨森编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111565314
- 出版时间:2017
- 标注页数:694页
- 文件大小:91MB
- 文件页数:712页
- 主题词:微控制器-系统开发-指南
PDF下载
下载说明
STM32库开发实战指南 基于STM32F103PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基础篇2
第1章 如何安装KEIL52
1.1 温馨提示2
1.2 获取KEIL5安装包2
1.3 开始安装KEIL53
1.4 安装STM32芯片包5
第2章 如何用DAP仿真器下载程序7
2.1 仿真器简介7
2.2 硬件连接7
2.3 仿真器配置8
2.4 选择目标板9
2.5 下载程序10
第3章 如何用串口下载程序11
3.1 安装USB转串口驱动11
3.2 硬件连接11
3.3 开始下载12
3.4 ISP一键下载原理分析14
3.4.1 ISP简介14
3.4.2 ISP普通下载14
3.4.3 BOOT配置15
3.4.4 ISP一键下载15
第4章 初识STM3217
4.1 什么是STM3217
4.2 STM32能做什么17
4.2.1 智能手环18
4.2.2 微型四轴飞行器19
4.2.3 淘宝众筹19
4.3 STM32怎么选型20
4.3.1 STM32分类20
4.3.2 STM32命名方法21
4.3.3 选择合适的MCU21
第5章 什么是寄存器24
5.1 STM32芯片外观24
5.2 芯片里面有什么25
5.3 存储器映射27
5.4 寄存器映射30
5.4.1 STM32的外设地址映射31
5.4.2 C语言对寄存器的封装33
第6章 新建工程——寄存器版38
6.1 新建本地工程文件夹38
6.2 新建工程39
6.3 下载程序42
第7章 使用寄存器点亮LED43
7.1 GPIO简介43
7.2 GPIO框图剖析43
7.2.1 基本结构分析43
7.2.2 GPIO工作模式47
7.3 实验:使用寄存器点亮LED48
7.3.1 硬件连接49
7.3.2 启动文件50
7.3.3 stm32f10x.h文件51
7.3.4 main文件52
7.3.5 下载验证56
第8章 自己写库——构建库函数雏形57
8.1 什么是STM32函数库57
8.2 为什么采用库来开发及学习58
8.3 实验:构建库函数雏形58
8.3.1 外部寄存器结构体定义59
8.3.2 外设存储器映射60
8.3.3 外设声明60
8.3.4 定义位操作函数62
8.3.5 定义初始化结构体65
8.3.6 定义引脚模式的枚举类型65
8.3.7 定义GPIO初始化函数69
8.3.8 全新面貌,使用函数点亮LED72
8.3.9 下载验证73
8.3.10 总结73
第9章 初识STM32标准库75
9.1 CMSIS标准及库层次关系75
9.1.1 库目录、文件简介76
9.1.2 库各文件间的关系81
9.2 使用帮助文档81
9.2.1 常用官方资料81
9.2.2 初识库函数83
第10章 新建工程——库函数版85
10.1 新建本地工程文件夹85
10.2 新建工程86
第11章 GPIO输出——使用固件库点亮LED93
11.1 硬件设计93
11.2 软件设计93
11.2.1 编程要点94
11.2.2 代码分析94
11.2.3 下载验证99
11.3 STM32标准库补充知识99
第12章 GPIO输入——按键检测102
12.1 硬件设计102
12.2 软件设计103
12.2.1 编程要点103
12.2.2 代码分析103
12.3 下载验证105
第13章 GPIO——位带操作106
13.1 位带简介106
13.1.1 外设位带区106
13.1.2 SRAM位带区107
13.1.3 位带区和位带别名区地址转换107
13.2 GPIO位带操作108
第14章 启动文件111
14.1 启动文件简介111
14.2 查找ARM汇编指令111
14.3 启动文件代码讲解111
第15章 RCC——使用HSE/HSI配置时钟118
15.1 RCC主要作用——时钟部分118
15.2 RCC框图剖析——时钟部分118
15.2.1 系统时钟118
15.2.2 其他时钟122
15.3 配置系统时钟实验123
15.3.1 使用HSE123
15.3.2 使用HSI123
15.3.3 硬件设计123
15.3.4 软件设计124
15.3.5 下载验证128
第16章 STM32中断应用概览130
16.1 异常类型130
16.2 NVIC简介131
16.2.1 NVIC寄存器简介131
16.2.2 NVIC中断配置固件库132
16.3 中断优先级132
16.3.1 优先级定义132
16.3.2 优先级分组132
16.4 中断编程133
第17章 EXTI——外部中断/事件控制器135
17.1 EXTI简介135
17.2 EXTI功能框图剖析135
17.3 中断/事件线137
17.4 EXTI初始化结构体详解138
17.5 外部中断控制实验138
17.5.1 硬件设计139
17.5.2 软件设计139
17.5.3 下载验证143
第18章 SysTick——系统定时器144
18.1 SysTick简介144
18.2 SysTick寄存器介绍144
18.3 SysTick定时实验145
18.3.1 硬件设计145
18.3.2 软件设计145
18.3.3 下载验证152
第19章 通信的基本概念153
19.1 串行通信与并行通信153
19.2 全双工、半双工及单工通信154
19.3 同步通信与异步通信154
19.4 通信速率155
第20章 USART——串口通信156
20.1 串口通信协议简介156
20.1.1 物理层156
20.1.2 协议层159
20.2 STM32的USART简介160
20.3 USART功能框图剖析161
20.4 USART初始化结构体详解165
20.5 USART1接发通信实验166
20.5.1 硬件设计166
20.5.2 软件设计167
20.5.3 下载验证171
20.6 使用USART1指令控制RGB彩灯的实验172
20.6.1 硬件设计172
20.6.2 软件设计172
20.6.3 下载验证176
第21章 DMA——直接存储器访问177
21.1 DMA简介177
21.2 DMA控制器的框图剖析177
21.3 DMA数据配置179
21.4 DMA初始化结构体详解180
21.5 从存储器到存储器模式的实验182
21.5.1 硬件设计182
21.5.2 软件设计182
21.5.3 下载验证186
21.6 从存储器到外设模式的实验186
21.6.1 硬件设计186
21.6.2 软件设计186
21.6.3 下载验证189
第22章 常用存储器介绍190
22.1 存储器种类190
22.2 RAM191
22.2.1 DRAM191
22.2.2 SRAM192
22.2.3 DRAM与SRAM的应用场合192
22.3 非易失性存储器192
22.3.1 ROM192
22.3.2 Flash存储器193
第23章 I2C-—读写EEPROM195
23.1 I2C协议简介195
23.1.1 I2C物理层195
23.1.2 协议层196
23.2 STM32的I2C特性及架构199
23.2.1 STM32的I2C外设简介199
23.2.2 STM32的I2C架构剖析199
23.2.3 通信过程201
23.3 I2C初始化结构体详解203
23.4 I2C——读写EEPROM实验204
23.4.1 硬件设计204
24.4.2 软件设计205
23.4.3 下载验证222
第24章 SPI——读写串行Flash存储器223
24.1 SPI协议简介223
24.1.1 SPI物理层223
24.1.2 协议层224
24.2 STM32的SPI特性及架构226
24.2.1 STM32的SPI外设简介226
24.2.2 STM32的SPI架构剖析227
24.2.3 通信过程228
24.3 SPI初始化结构体详解229
24.4 SPI——读写串行Flash存储器实验231
24.4.1 硬件设计231
24.4.2 软件设计232
24.4.3 下载验证250
第25章 串行Flash文件系统——FatFs251
25.1 文件系统251
25.2 FatFs文件系统简介252
25.2.1 FatFs的目录结构252
25.2.2 FatFs帮助文档252
25.2.3 FatFs源码253
25.3 FatFs文件系统移植实验254
25.3.1 FatFs程序结构图254
25.3.2 硬件设计254
25.3.3 FatFs移植步骤254
25.3.4 FatFs底层设备驱动函数256
25.3.5 FatFs功能配置261
25.3.6 FatFs功能测试262
25.3.7 下载验证265
25.4 FatFs功能使用实验266
25.4.1 硬件设计266
25.4.2 软件设计266
25.4.3 下载验证271
第二部分 提高篇274
第26章 LCD——液晶显示器274
26.1 显示器简介274
26.1.1 液晶显示器274
26.1.2 LED和OLED显示器275
26.1.3 显示器的基本参数276
26.2 液晶控制原理276
26.2.1 液晶面板的控制信号277
26.2.2 液晶数据传输时序278
26.2.3 显存280
26.3 秉火3.2 寸液晶屏简介280
26.3.1 3.2 寸电阻触摸屏实物280
26.3.2 ILI9341液晶控制器简介281
26.3.3 液晶屏的信号线及8080时序282
26.4 使用STM32的FSMC模拟8080接口时序283
26.4.1 FSMC简介283
26.4.2 FSMC的地址映射285
26.4.3 FSMC控制异步NOR Flash存储器的时序287
26.4.4 用FSMC模拟8080时序288
26.5 NOR Flash存储器时序结构体289
26.6 FSMC初始化结构体291
26.7 FSMC——液晶显示实验293
26.7.1 硬件设计293
26.7.2 软件设计295
26.7.3 下载验证316
第27章 LCD——液晶显示中英文317
27.1 字符编码317
27.1.1 ASCII编码317
27.1.2 中文编码319
27.1.3 Unicode字符集和编码322
27.1.4 UTF-32323
27.1.5 UTF-16323
27.1.6 UTF-8324
27.1.7 BOM325
27.2 什么是字模325
27.2.1 字模的构成325
27.2.2 字模显示原理326
27.2.3 如何制作字模327
27.2.4 字模寻址公式328
27.2.5 存储字模文件329
27.3 各种模式的液晶显示字符实验329
27.3.1 硬件设计329
27.3.2 显示ASCII编码的字符330
27.3.3 显示GB2312编码的字符338
27.3.4 显示任意大小的字符346
27.3.5 下载验证352
第28章 电阻触摸屏——触摸画板353
28.1 触摸屏简介353
28.1.1 电阻式触摸屏检测原理354
28.1.2 电阻触摸屏控制芯片355
28.1.3 电容式触摸屏检测原理356
28.2 电阻触摸屏——触摸画板实验357
28.2.1 硬件设计357
28.2.2 软件设计359
28.2.3 下载验证375
第29章 ADC——电压采集376
29.1 ADC简介376
29.2 ADC功能框图剖析376
29.3 ADC初始化结构体详解381
29.4 独立模式单通道采集实验382
29.4.1 硬件设计382
29.4.2 软件设计382
29.4.3 下载验证387
29.5 独立模式多通道采集实验387
29.5.1 硬件设计387
29.5.2 软件设计387
29.5.3 下载验证391
29.6 双重ADC同步规则模式采集实验391
29.6.1 硬件设计392
29.6.2 软件设计393
29.6.3 下载验证397
第30章 TIM——基本定时器398
30.1 定时器分类398
30.2 基本定时器功能框图剖析398
30.3 定时器初始化结构体详解399
30.4 基本定时器定时实验400
30.4.1 硬件设计400
30.4.2 软件设计400
30.4.3 下载验证403
第31章 TIM——高级定时器404
31.1 高级控制定时器404
31.2 高级控制定时器功能框图剖析405
31.3 输入捕获应用413
31.3.1 测量脉宽或者频率413
31.3.2 PWM输入模式414
31.4 输出比较应用415
31.5 定时器初始化结构体详解417
31.6 PWM互补输出实验420
31.6.1 硬件设计420
31.6.2 软件设计420
31.6.3 下载验证424
31.7 脉宽测量输入捕获实验424
31.7.1 硬件设计424
31.7.2 软件设计425
31.7.3 下载验证429
31.8 PWM输入捕获实验430
31.8.1 硬件设计430
31.8.2 软件设计430
31.8.3 下载验证437
第32章 TIM——电容按键检测438
32.1 电容按键原理438
32.2 电容按键检测实验439
32.2.1 硬件设计440
32.2.2 软件设计440
32.2.3 下载验证446
第33章 IWDG——独立看门狗447
33.1 IWDG简介447
33.2 IWDG功能框图剖析447
33.3 怎么用IWDG448
33.4 IWDG超时实验449
33.4.1 硬件设计449
33.4.2 软件设计449
33.4.3 下载验证451
第34章 WWDG——窗口看门狗452
34.1 WWDG简介452
34.2 WWDG功能框图剖析452
34.3 怎么用WWDG454
34.4 WWDG喂狗实验454
34.4.1 硬件设计454
34.4.2 软件设计454
34.4.3 下载验证457
第35章 SDIO——SD卡读写测试458
35.1 SDIO简介458
35.2 SD卡物理结构459
35.3 SDIO总线460
35.3.1 总线拓扑460
35.3.2 总线协议461
35.3.3 命令462
35.3.4 响应465
35.4 SD卡的操作模式及切换466
35.4.1 SD卡的操作模式466
35.4.2 卡识别模式467
35.4.3 数据传输模式468
35.5 STM32的SDIO功能框图剖析469
35.6 SDIO初始化结构体473
35.7 SDIO命令初始化结构体474
35.8 SDIO数据初始化结构体475
35.9 SD卡读写测试实验475
35.9.1 硬件设计475
35.9.2 软件设计476
35.9.3 下载验证504
第36章 基于SD卡的FatFs文件系统505
36.1 FatFs移植步骤505
36.2 FatFs接口函数507
36.3 FatFs功能测试511
36.4 下载验证514
第37章 电源管理——实现低功耗515
37.1 STM32的电源管理简介515
37.1.1 电源监控器515
37.1.2 STM32的电源系统516
37.1.3 STM32的功耗模式517
37.2 电源管理相关的库函数及命令519
37.2.1 配置PVD监控功能519
37.2.2 WFI与WFE命令520
37.2.3 进入停止模式520
37.2.4 进入待机模式521
37.3 PWR——睡眠模式实验522
37.3.1 硬件设计522
37.3.2 软件设计522
37.3.3 下载验证525
37.4 PWR——停止模式实验525
37.4.1 硬件设计525
37.4.2 软件设计525
37.4.3 下载验证529
37.5 PWR——待机模式实验529
37.5.1 硬件设计529
37.5.2 软件设计529
37.5.3 下载验证532
37.6 PWR——PVD电源监控实验532
37.6.1 硬件设计532
37.6.2 软件设计534
37.6.3 下载验证537
第38章 MDK的编译过程及文件类型全解538
38.1 编译过程538
38.1.1 编译过程简介538
38.1.2 具体工程中的编译过程539
38.2 程序的组成、存储与运行540
38.2.1 CODE、RO、RW、ZI Data域及堆栈空间540
38.2.2 程序的存储与运行541
38.3 编译工具链542
38.3.1 设置环境变量542
38.3.2 armcc、armasm及armlink544
38.3.3 armar、fromelf及用户指令548
38.4 MDK工程的文件类型549
38.4.1 uvprojx、uvoptx及uvguix工程文件550
38.4.2 源文件553
38.4.3 Output目录下生成的文件553
38.4.4 Listing目录下的文件574
38.4.5 sct分散加载文件的格式与应用581
38.5 实验:自动分配变量到指定的SRAM空间589
38.5.1 补充关于“__attribute__”关键字的说明590
38.5.2 硬件设计590
38.5.3 软件设计590
38.5.4 下载验证598
38.6 实验:优先使用内部SRAM并把堆区分配到指定空间598
38.6.1 硬件设计598
38.6.2 软件设计598
38.6.3 下载验证604
第39章 在SRAM中调试代码605
39.1 在RAM中调试代码605
39.2 STM32的启动方式606
39.3 内部Flash的启动过程607
39.4 实验:在内部SRAM中调试代码609
39.4.1 硬件设计609
39.4.2 软件设计609
39.4.3 下载验证618
第40章 读写内部Flash619
40.1 STM32的内部Flash简介619
40.2 对内部Flash的写入过程621
40.3 查看工程的空间分布622
40.4 操作内部Flash的库函数624
40.5 实验:读写内部Flash627
40.5.1 硬件设计627
40.5.2 软件设计627
40.5.3 下载验证629
第41章 设置Flash的读写保护及解除630
41.1 选项字节与读写保护630
41.1.1 选项字节的内容630
41.1.2 RDP读保护632
41.1.3 WRP写保护633
41.2 修改选项字节的过程633
41.3 操作选项字节的库函数633
41.4 实验:设置读写保护及解除638
41.4.1 硬件设计638
41.4.2 软件设计638
41.4.3 下载验证642
第42章 OV7725摄像头驱动643
42.1 摄像头简介643
42.1.1 数字摄像头与模拟摄像头的区别643
42.1.2 CCD与CMOS的区别644
42.2 OV7725摄像头644
42.2.1 OV7725传感器简介644
42.2.2 OV7725引脚及功能框图剖析645
42.2.3 SCCB时序646
42.2.4 OV7725的寄存器647
42.2.5 像素数据输出时序648
42.2.6 FIFO读写时序649
42.2.7 摄像头的驱动原理652
42.3 摄像头驱动实验655
42.3.1 硬件设计655
42.3.2 软件设计656
42.3.3 下载验证678
第43章 移植Huawei LiteOS到STM32679
43.1 Huawei LiteOS简介679
43.2 Huawei LiteOS内核移植680
43.2.1 Huawei LiteOS内核简介680
43.2.2 内核源代码简介682
43.2.3 内核移植详细介绍683
43.2.4 Huawei LiteOS多任务编程691