第1 章 STM32 微控制器介绍及其学习与开发方法 1
1. 1 微控制器技术的发展历程 1
1. 2 ARM 公司概述 2
1. 3 STM32 概述 3
1. 4 STM32F407 芯片介绍 3
1. 5 STM32 微控制器的学习与开发方法 5
1. 6 嵌入式项目的开发流程 6
思考与练习10
第2 章 开始STM32F407 第一个工程实例: 点亮LED灯 11
2. 1 STM32CubeMX 的下载与安装 11
2. 2 MDK-ARM 软件的下载与安装 19
2. 3 创建第一个程序 28
2. 4 GPIO 工程代码分析 33
2. 5 程序的下载与运行 36
思考与练习 39
第3 章 STM32F4 开发基础知识 40
3. 1 MDK 下C 语言基础 40
3. 2 STM32F4 微处理器结构 44
3. 3 STM32F4 总线架构 47
3. 4 STM32F4 时钟系统 49
3. 5 内部存储器映射 52
3. 6 电源和复位 55
3. 7 STM32F4 开发实验硬件简介 59
思考与练习 60
第4 章 STM32F407 GPIO 原理及应用 61
4. 1 GPIO 简介 61
4. 2 深入理解GPIO 的内部结构 62
4. 3 GPIO 的8 种工作模式 63
4. 4 GPIO 常用的HAL 库函数 68
4. 5 GPIO 引脚复用功能及配置 71
4. 6 蜂鸣器输出实例 74
4. 7 按键输入应用及程序设计 76
思考与练习 80
第5 章 STM32F407 中断系统及应用 81
5. 1 中断的基本概念 81
5. 2 STM32F407 中断系统 86
5. 3 STM32F407 外部中断/ 事件控制器 94
5. 4 STM32F407 外部中断HAL 库函数 97
5. 5 外部中断点亮LED 应用实例 104
思考与练习 109
第6 章 STM32F4 通用同步/ 异步串行通信接口(USART) 110
6. 1 数据通信的基本概念 110
6. 2 USART 的结构及工作原理 113
6. 3 USART 的多处理器通信与奇偶校验 118
6. 4 USART 的中断请求 120
6. 5 USART 的模式配置及引脚使用 121
6. 6 USART 的HAL 库函数 122
6. 7 UART 通信应用实例 125
思考与练习 136
第7 章 STM32F4 定时器、滴答时钟的原理及应用 138
7. 1 STM32 定时器的原理及应用 138
7. 2 STM32 滴答时钟的原理及应用 163
思考与练习 169
第8 章 FSMC 总线与TFTLCD 显示 171
8. 1 FSMC 总线 171
8. 2 FSMC 与TFTLCD 连接 172
8. 3 TFTLCD&FSMC 接口原理 174
8. 4 TFTLCD 显示软件设计 180
8. 5 LCD 显示与人机接口键盘综合实例 197
思考与练习 235
第9 章 STM32F4 的数字摄像头接口与DMA 数据传输 236
9. 1 数字摄像头接口的主要特性、引脚及时钟 236
9. 2 DMA 的基本特性及原理 241
9. 3 数字摄像头接口、DMA 相关的HAL 库函数 250
9. 4 利用DMA 方式读取数字摄像头实例 257
思考与练习 267
第10 章 STM32F4 的ADC 及其应用 268
10. 1 ADC 的概述 268
10. 2 ADC 的基本特性 269
10. 3 ADC 的程序配置流程与编程要点 273
10. 4 ADC 相关HAL 库函数 276
10. 5 A/ D 转换实例 279
思考与练习 283
第11 章 STM32F4 的高级定时器与PWM 输出 284
11. 1 高级定时器主要特性 284
11. 2 高级定时器功能描述 285
11. 3 PWM 输出工作原理 288
11. 4 PWM 输出相关的HAL 库函数 291
11. 5 PWM 输出应用实例 294
思考与练习 306
第12 章 STM32F4 的综合设计应用 308
12. 1 简易液体罐装系统设计 308
12. 2 智能车辆控制系统设计 316
参考文献 325