定 价:49 元
丛书名:
- 作者:张宝译
- 出版时间:2023/12/1
- ISBN:9787121467783
- 出 版 社:电子工业出版社
适用读者:本书适合STM32初学者,以及从事嵌入式系统开发的工程技术人员阅读和参考,也可作为高等学校相关专业的教材使用。
- 中图法分类:TP368.1
- 页码:236
- 纸张:
- 版次:01
- 开本:16开
- 字数:396(单位:千字)
本书以STM32CubeMX(简称CubeMX)软件和MDK-ARM软件为开发工具,以微控制器(MCU)型号为STM32F103VET6的开发板为例,全面介绍了CubeMX软件的开发方式和HAL库的应用,包括STM32F103常用外设的配置、编程使用和CubeMX软件的使用。 本书内容全面,讲解由浅入深,实例丰富,可读性好,实用性强。本书通过项目驱动的方式,能加强读者对所学知识的理解,强化自身分析问题、解决问题的能力。 本书适合STM32初学者,以及从事嵌入式系统开发的工程技术人员阅读和参考,也可作为高等学校相关专业的教材使用。
张宝译,从事单片机设计与开发、综合实践等教学工作,指导学生参加电子类竞赛。研究方向为嵌入式系统、惯性导航技术,主持教育部协同育人项目1项,获授权发明专利1项,发表论文2篇,计算机软件著作权1项。
目录
Contents
第1章 嵌入式系统概述 1
1.1 嵌入式系统的定义 1
1.2 嵌入式系统的特点 1
1.3 嵌入式系统与通用计算机系统的比较 2
1.3.1 嵌入式系统与通用计算机系统的共同点 2
1.3.2 嵌入式系统与通用计算机系统的不同点 3
1.4 嵌入式系统的基本分类 3
1.4.1 按照技术复杂度进行分类 3
1.4.2 按照应用领域进行分类 3
1.5 嵌入式系统的应用领域 4
1.6 嵌入式处理芯片 4
本章小结 6
思考与练习 6
第2章 ARM处理器与STM32微控制器 7
2.1 ARM公司简介 7
2.2 ARM处理器简介 8
2.3 Cortex-M3处理器 9
2.4 STM32微控制器 10
2.5 STM32芯片的结构 13
2.6 存储区映射 15
本章小结 16
思考与练习 17
第3章 开发环境及硬件平台 18
3.1 系统设计 18
3.1.1 系统设计流程 20
3.1.2 嵌入式系统开发环境搭建 20
3.2 STM32固件库 22
3.2.1 背景简介 22
3.2.2 HAL库简介 23
3.3 CubeMX软件 25
3.4 MDK-ARM软件 28
3.5 硬件开发平台 29
3.6 创建一个工程模板 29
3.7 下载程序 41
本章小结 45
思考与练习 45
第4章 使用CubeMX软件生成开发项目 46
4.1 CubeMX软件使用介绍 47
4.2 CubeMX软件窗口界面描述 52
本章小结 58
思考与练习 58
第5章 通用输入输出口 59
5.1 GPIO概述 59
5.2 GPIO内部结构 59
5.2.1 输入驱动器 60
5.2.2 输出驱动器 60
5.3 GPIO工作模式 61
5.3.1 浮空输入 61
5.3.2 上拉输入 61
5.3.3 下拉输入 61
5.3.4 模拟输入 62
5.3.5 开漏输出 62
5.3.6 开漏复用输出 62
5.3.7 推挽输出 62
5.3.8 推挽复用输出 62
5.4 GPIO输出速度 62
5.5 复用功能重映射 62
5.6 GPIO寄存器 63
5.7 GPIO的HAL驱动 63
5.8 GPIO实例 66
5.8.1 LED流水灯控制 66
5.8.2 LED流水灯控制项目初始化代码分析 68
5.8.3 按键输入检测及代码分析 72
5.8.4 本例代码 77
本章小结 79
思考与练习 79
第6章 中断系统 80
6.1 中断概述 80
6.1.1 中断的定义 80
6.1.2 中断的应用 80
6.1.3 中断源与中断屏蔽 81
6.1.4 中断处理过程 82
6.1.5 中断优先级与中断嵌套 82
6.2 STM32F103系列微控制器的中断系统 83
6.3 中断设置相关HAL驱动程序 87
6.4 STM32F103系列微控制器的外部中断/事件控制器 89
6.4.1 EXTI的内部结构 89
6.4.2 EXTI工作原理 91
6.4.3 EXTI主要特性 91
6.5 外部中断相关的HAL驱动函数 92
6.6 外部中断实例 94
6.6.1 利用外部中断检测按键并控制LED灯 94
6.6.2 项目代码分析 96
6.6.3 本例代码 99
本章小结 101
思考与练习 102
第7章 定时器 103
7.1 定时器概述 103
7.2 基本定时器 104
7.2.1 基本定时器概要 104
7.2.2 基本定时器主要特性介绍 104
7.2.3 基本定时器的组成和功能 104
7.3 通用定时器 105
7.3.1 通用定时器概要 105
7.3.2 通用定时器主要特性介绍 105
7.3.3 通用定时器的组成和功能 106
7.3.4 通用定时器的工作模式 107
7.4 高级定时器 111
7.4.1 高级定时器概要 111
7.4.2 高级定时器主要特性介绍 111
7.4.3 高级定时器结构 111
7.5 定时器相关的HAL驱动 112
7.5.1 定时器主要函数 112
7.5.2 其他通用操作函数 113
7.5.3 中断处理 114
7.5.4 外设的中断处理小结 116
7.6 定时器功能实例 118
7.6.1 LED灯定时翻转 118
7.6.2 项目“LED灯定时翻转”代码分析 121
7.6.3 控制无源蜂鸣器 124
7.6.4 项目“控制无源蜂鸣器”代码分析 126
7.6.5 本例代码 127
本章小结 132
思考与练习 132
第8章 串行通信接口USART 134
8.1 数据通信的基本概念 134
8.1.1 并行通信 134
8.1.2 串行通信 134
8.2 USART工作原理 136
8.2.1 USART介绍 136
8.2.2 USART的主要特性 136
8.2.3 USART功能概述 137
8.2.4 USART字长设置 138
8.2.5 USART中断 138
8.3 USART相关的HAL驱动 139
8.3.1 串口常用HAL函数 139
8.3.2 中断事件和回调函数 142
8.4 串口通信实例 142
8.4.1 串口发送数据实例 142
8.4.2 串口接收数据实例 145
8.4.3 本例代码 149
本章小结 156
思考与练习 156
第9章 模拟数字转换器 157
9.1 ADC概述 157
9.1.1 ADC的基本原理 157
9.1.2 ADC的性能参数 158
9.1.3 ADC的主要类型 159
9.2 STM32F103系列微控制器的ADC工作原理 159
9.2.1 主要特征 160
9.2.2 内部结构 160
9.2.3 通道及分组 160
9.2.4 时序图 162
9.2.5 数据对齐 162
9.2.6 校准 163
9.2.7 转换时间 163
9.2.8 转换模式 163
9.2.9 外部触发转换 165
9.2.10 中断和DMA 165
9.3 ADC相关的HAL驱动 166
9.4 ADC应用实例 168
9.4.1 读取光敏传感器数据 168
9.4.2 本例代码 172
本章小结 175
思考与练习 175
第10章 IIC通信 176
10.1 IIC通信原理 176
10.1.1 IIC概述 176
10.1.2 IIC的数据传送 177
10.2 STM32F103系列微控制器的IIC接口 180
10.2.1 STM32F103系列微控制器的IIC接口主要特性 180
10.2.2 STM32F103系列微控制器的IIC接口内部结构 181
10.2.3 STM32F103系列微控制器的IIC接口模式选择 182
10.3 软件IIC驱动 182
10.4 IIC应用实例 188
10.4.1 代码解析 188
10.4.2 本例代码 196
本章小结 199
思考与练习 199
第11章 直接存储器访问 200
11.1 DMA基本概述 200
11.1.1 DMA由来 200
11.1.2 DMA定义 200
11.1.3 DMA传输过程 201
11.1.4 DMA优点 201
11.2 STM32F103系列微控制器的DMA工作原理 201
11.2.1 STM32F103系列微控制器的DMA主要特性 201
11.2.2 STM32F103系列微控制器的DMA内部结构 202
11.2.3 STM32F103系列微控制器的DMA通道 203
11.2.4 STM32F103系列微控制器的DMA优先级 204
11.2.5 STM32F103系列微控制器的DMA传输模式 204
11.2.6 STM32F103系列微控制器的DMA中断 204
11.3 DMA相关的HAL驱动 205
11.3.1 DMA的HAL函数 205
11.3.2 DMA的中断 207
11.4 DMA相关功能实例 208
11.4.1 串口使用DMA发送和接收数据 208
11.4.2 项目代码分析 210
11.4.3 上位机控制及接收信息展示 214
11.4.4 本例代码 215
本章小结 223
思考与练习 223
参考文献 224