卓越工程能力培养与工程教育专业认证系列规划教材 嵌入式单片机STM32原理及应用
作者:张淑清等编著
出版时间:2019年版
丛编项: 卓越工程能力培养与工程教育专业认证系列规划教材
内容简介
本书共 13 章, 内容包括: 嵌入式系统简介, 嵌入式单片机 STM32 的硬件基础; 软件开发基础; 通用功能输入输出 ( GPIO) ; 外部中断 EXTI;通用同步/异步通信; 通用定时器; 直接存储器存取; 模/数转换器; 集成电路总线; 串行外设接口, 基于机智云平台的 STM32 嵌入式物联网应用设计, 基于以太网的 STM32 嵌入式系统应用设计, 并在第 4 ~ 13 章给出了应用实例; 为了便于读者理解, 实例中给出了两种工程文件结构: 一种是单结构文件, 是较简单结构的工程文件, 书中均给出了程序代码, 利于读者快速掌握; 第二种是结构化的编程方法, 更适用于实际工程应用, 在第 4 章的 GPIO 功能设计中详细给出了编程方法和调试结果, 可帮助读者培养良好的编程习惯; 本书全部实例都经过调试, 可正常运行; 本书适合作为高等工科院校电子信息; 计算机; 自动化; 测控; 机电一体化等专业的嵌入式控制; 单片机原理及设计等课程的教材; 由于本书涉及大量工程领域相关内容, 也适于嵌入式单片机 STM32 的初学者及有一定嵌入式应用基础的电子工程技术人员使用;
目录
前 言
第 1 章 嵌入式系统简介 1
1. 1 嵌入式系统特点及发展趋势 1
1. 1. 1 嵌入式系统特点及应用领域 1
1. 1. 2 嵌入式系统发展趋势 2
1. 2 嵌入式处理器 ARM Cortex - M3
特点 3
1. 3 STM32 系列微控制器 4
1. 3. 1 STM32 系列单片机 4
1. 3. 2 STM32F10x 系列单片机 5
1. 3. 3 STM32 系列单片机开发工具 6
思考与练习 6
第 2 章 嵌入式单片机 STM32
硬件基础 8
2. 1 STM32 系列单片机外部结构 8
2. 1. 1 STM32 系列单片机命名规则 8
2. 1. 2 STM32 系列单片机引脚功能 9
2. 2 STM32 系列单片机内部结构 10
2. 2. 1 STM32F103 处理器内部总线
结构 10
2. 2. 2 STM32F103 处理器内部时钟
系统 12
2. 2. 3 STM32F103 处理器内部复位
系统 13
2. 2. 4 STM32F103 处理器内部存储器
结构 14
2. 3 STM32F103 单片机输入输出口 16
2. 4 STM32F103 最小系统设计 18
思考与练习 20
第 3 章 嵌入式单片机 STM32 软件开发
基础 21
3. 1 Cortex - M3 微控制器软件接口标准
CMSIS 21
3. 1. 1 CMSIS 概述 21
3. 1. 2 STM32F10x 标准外设库 22
3. 2 基于 MDK 和标准库的 STM32 软件开发
过程 25
3. 3 基于 MDK5 的 STM32 软件开发过程 32
思考与练习 35
第 4 章 STM32 单片机的通用功能输入
输出 ( GPIO) 37
4. 1 STM32F10x 的 IO 端口的组成及功能 37
4. 1. 1 STM32F10x 的 IO 端口的基本组成
结构 37
4. 1. 2 通用功能输入输出 ( GPIO) 38
4. 1. 3 复用功能输入输出 ( AFIO) 38
4. 1. 4 外部中断/唤醒功能 38
4. 2 GPIO 常用库函数 39
4. 3 GPIO 使用流程 43
4. 3. 1 普通 GPIO 配置 43
4. 3. 2 IO 复用功能 AFIO 配置 43
4. 4 GPIO 应用设计实例 45
4. 4. 1 GPIO 应用实例 1: 系统工作
指示灯 46
4. 4. 2 GPIO 应用实例 2: 开关量状态
监测 49
思考与练习 58
第 5 章 STM32 单片机外部中断
EXTI 59
5. 1 中断的相关概念 59
5. 2 STM32F103 中断系统组成结构 60
5. 2. 1 中断源及中断向量 60
5. 2. 2 外部中断系统结构 63
5. 3 中断控制 64
5. 3. 1 中断屏蔽控制 64
5. 3. 2 中断优先级控制 65
5. 4 STM32 中断控制库函数 66
5. 4. 1 嵌套向量中断控制器 ( NVIC) 库
函数 66
Ⅳ
目 录
5. 4. 2 STM32 外部中断 EXTI 库函数 70
5. 5 外部中断使用流程 72
5. 5. 1 NVIC 设置 72
5. 5. 2 中断端口配置 73
5. 5. 3 中断处理 73
5. 6 STM32 外部中断应用设计实例 75
5. 6. 1 外部中断应用实例 1: 按键控制
LED 模拟手术室工作状态指示 75
5. 6. 2 外部中断应用实例 2: 烟雾监测
紧急报警 79
思考与练习 81
第 6 章 STM32 通用同步/异步通信 82
6. 1 串行通信简介 82
6. 1. 1 串行通信与并行通信 82
6. 1. 2 串行通信方式 82
6. 1. 3 串行异步通信和串行同步通信 82
6. 1. 4 串行异步通信的数据传输形式 83
6. 1. 5 波特率 83
6. 2 STM32 的 USART 的结构及工作方式 83
6. 2. 1 STM32 的 USART 的结构 83
6. 2. 2 STM32 串行异步通信的工作
方式 85
6. 3 USART 常用库函数 86
6. 4 USART 使用流程 89
6. 5 USART 应用设计实例 91
6. 5. 1 串行异步通信应用实例 1: 收发
信息 91
6. 5. 2 串行异步通信应用实例 2: 上位
机控制 LED 亮灭 94
6. 6 串行通信接口抗干扰设计 97
6. 6. 1 TTL 电平通信接口 97
6. 6. 2 标准串行通信接口 RS - 232C 97
6. 6. 3 RS - 485 双机通信接口 98
思考与练习 99
第 7 章 STM32 通用定时器 100
7. 1 STM32 定时/计数器概述 100
7. 2 STM32 通用定时器的结构 102
7. 2. 1 时钟源 102
7. 2. 2 通用定时器的功能寄存器 103
7. 2. 3 通用定时器的外部触发及
输入/输出通道 104
7. 3 STM32 通用定时器的功能 104
7. 3. 1 定时功能 105
7. 3. 2 计数功能 106
7. 4 通用定时器常用库函数 107
7. 5 通用定时器使用流程 113
7. 5. 1 NVIC 设置 113
7. 5. 2 TIM 中断配置 113
7. 5. 3 定时器中断处理程序 114
7. 6 通用定时器应用设计 114
7. 6. 1 定时器设计实例 1: 精确
延时 114
7. 6. 2 定时器设计实例 2: 串行口定时
上传信息 119
思考与练习 121
第 8 章 STM32 直接存储器存取
DMA 122
8. 1 DMA 简介 122
8. 2 STM32 的 DMA 结构 122
8. 3 DMA 的工作过程 124
8. 4 DMA 常用库函数 125
8. 5 DMA 使用流程 130
8. 6 DMA 应用设计实例: 数据传输 131
思考与练习 141
第 9 章 STM32 的模/数转换器 142
9. 1 STM32 应用系统简介 142
9. 1. 1 STM32 应用系统输入/输出
通道 142
9. 1. 2 ADC 的性能指标 143
9. 2 STM32 的 ADC 结构 144
9. 3 ADC 的工作模式 146
9. 3. 1 开关; 时钟及通道 146
9. 3. 2 模式控制 147
9. 3. 3 中断和 DMA 请求 148
9. 3. 4 其他功能 148
9. 4 ADC 常用库函数 149
9. 5 ADC 使用流程 155
9. 6 ADC 应用设计 156
9. 6. 1 ADC 应用实例 1: 电压采集及
传输 156
9. 6. 2 ADC 应用实例 2: 模拟数字量
综合测控系统 163
思考与练习 167
第 10 章 STM32 的集成电路总线
I2 C 168
10. 1 I2 C 总线通信简介