STM32库开发实战指南 基于STM32F4
全新正版 极速发货
¥
74.03
5.7折
¥
129
全新
库存4件
作者刘火良,杨森 编
出版社机械工业出版社
ISBN9787111557456
出版时间2017-02
装帧平装
开本16开
定价129元
货号1201498228
上书时间2024-11-14
商品详情
- 品相描述:全新
- 商品描述
-
目录
前 言
第1章 如何安装KEIL5 1
1.1 温馨提示 1
1.2 获取KEIL5安装包 1
1.3 开始安装KEIL5 1
1.4 安装STM32芯片包 3
第2章 如何用DAP仿真器下载程序 6
2.1 仿真器简介 6
2.2 硬件连接 6
2.3 仿真器配置 6
2.4 选择目标板 9
2.5 下载程序 9
第3章 初识STM32 10
3.1 什么是STM32 10
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 选择合适的MCU 14
第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章 使用寄存器点亮LED 39
6.1 GPIO简介 39
6.2 GPIO框图剖析 39
6.2.1 基本结构分析 39
6.2.2 GPIO工作模式 42
6.3 实验:使用寄存器点亮LED 43
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 使用函数点亮LED 64
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输出——使用固件库点亮LED 88
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 使用HSE 122
14.3.2 使用HSI 122
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章 EXTI——外部中断/事件控制器 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 USART1接发通信实验 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章 DMA 180
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 DRAM 201
21.2.2 SRAM 202
21.2.3 DRAM与SRAM的应用场合 202
21.3 非易失性存储器 202
21.3.1 ROM存储器 202
21.3.2 Flash存储器 203
第22章 I2C——读写EEPROM 205
22.1 I2C协议简介 205
22.1.1 I2C物理层 205
22.1.2 协议层 206
22.2 STM32的I2C特性及架构 209
22.2.1 STM32的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——读写串行Flash 235
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文件系统FatFs 265
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——扩展外部SDRAM 287
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-32 365
27.1.5 UTF-16 365
27.1.6 UTF-8 366
27.1.7 BOM 367
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
……
内容摘要
本书的主要内容将着重介绍STM32的库函数,以及如何使用库的方式进行开发。使初学者能够快速入门能够在此基础上迅速入门,掌握STM32的开发方法。本书内容基于ARM-CortexM3内核的STM32F429芯片,紧紧围绕“库”展开,系统地讲述了STM32固件库的原理、使用方法。
— 没有更多了 —
以下为对购买帮助不大的评价