- 机械工业出版社
- 9787111736691
- 1-2
- 503568
- 46255775-2
- 平装
- 16开
- 2023-12
- 502
- 嵌入式软硬件设计
- 本科
内容简介
本书以“新工科”教育理念为指导,以产教融合为突破口,面向产业需求,全面重构课程内容,引入产业界的最新技术。从科研、教学和工程实际应用出发,全面系统地讲述了基于STM32CubeMX和HAL库的嵌入式系统设计与应用实例。
全书共12章,主要内容包括:绪论、STM32嵌入式微控制器与最小系统设计、STM32CubeMX的应用、嵌入式开发环境的搭建、STM32通用输入/输出接口、STM32中断系统、STM32定时器系统、STM32通用同步/异步收发器、STM32 SPI控制器、STM32 I2C控制器、STM32模/数转换器和STM32 DMA控制器。全书内容丰富、体系先进、结构合理、理论与实践相结合,尤其注重工程应用技术的讲解。
通过阅读本书,读者可以掌握STM32Cube开发方式和工具软件的使用,掌握基于HAL库的STM32F103系统功能和常用外设的编程开发方法。
本书可作为高等院校自动化、机器人、自动检测、机电一体化、人工智能、电子与电气工程、计算机应用、信息工程、物联网等相关专业的本、专科教材,也适合作为STM32嵌入式系统开发人员的参考书。
全书共12章,主要内容包括:绪论、STM32嵌入式微控制器与最小系统设计、STM32CubeMX的应用、嵌入式开发环境的搭建、STM32通用输入/输出接口、STM32中断系统、STM32定时器系统、STM32通用同步/异步收发器、STM32 SPI控制器、STM32 I2C控制器、STM32模/数转换器和STM32 DMA控制器。全书内容丰富、体系先进、结构合理、理论与实践相结合,尤其注重工程应用技术的讲解。
通过阅读本书,读者可以掌握STM32Cube开发方式和工具软件的使用,掌握基于HAL库的STM32F103系统功能和常用外设的编程开发方法。
本书可作为高等院校自动化、机器人、自动检测、机电一体化、人工智能、电子与电气工程、计算机应用、信息工程、物联网等相关专业的本、专科教材,也适合作为STM32嵌入式系统开发人员的参考书。
目录
前言
第1章 绪论1
1.1 嵌入式系统1
1.2 嵌入式系统的组成4
1.3 嵌入式软件6
1.4 嵌入式系统的分类13
1.5 嵌入式系统的应用领域14
1.6 嵌入式系统的体系15
1.7 嵌入式微处理器的分类18
1.8 ARM嵌入式微处理器19
1.9 ARM Cortex-M3的调试30
1.10 嵌入式系统的设计方法31
1.11 嵌入式系统的发展34
习题36
第2章 STM32 嵌入式微控制器与最小系统设计38
2.1 STM32 微控制器概述38
2.2 STM32F1系列产品系统架构和STM32F103ZET6内部架构45
2.3 STM32F103ZET6的存储器映射50
2.4 STM32F103ZET6的时钟结构54
2.5 STM32F103VET6的引脚57
2.6 STM32F103VET6 最小系统设计62
2.7 学习STM32的方法64
习题65
第3章 STM32CubeMX的应用66
3.1 安装STM32CubeMX66
3.2 安装MCU固件包67
3.3 软件的功能与基本使用方法70
3.4 HAL库89
习题96
第4章 嵌入式开发环境的搭建97
4.1 Keil MDK5的安装配置97
4.2 Keil MDK下新工程的创建103
4.3 J-Link及其驱动的安装107
4.4 Keil MDK5的调试方法109
4.5 Cortex-M3 微控制器软件接口标准114
4.6 STM32F103开发板的选择120
4.7 STM32仿真器的选择123
习题124
第5章 STM32通用输入/输出接口126
5.1 STM32通用输入/输出接口概述126
5.2 STM32的GPIO功能128
5.3 GPIO的HAL库函数132
5.4 STM32的GPIO使用流程135
5.5 采用STM32CubeMX和HAL库的GPIO输出应用实例135
5.6 采用STM32CubeMX和HAL库的GPIO输入应用实例146
习题150
第6章 STM32中断系统152
6.1 中断的基本概念152
6.2 STM32F103中断系统155
6.3 STM32F103外部中断/事件控制器159
6.4 STM32F1中断HAL库函数162
6.5 STM32F1外部中断设计流程166
6.6 采用STM32CubeMX和HAL库的外部中断设计实例168
习题173
第7章 STM32定时器系统174
7.1 STM32F103定时器概述174
7.2 STM32基本定时器175
7.3 STM32通用定时器178
7.4 STM32高级定时器186
7.5 STM32定时器的HAL库函数187
7.6 采用STM32CubeMX和HAL库的定时器应用实例195
习题202
第8章 STM32通用同步/异步收发器203
8.1 串行通信基础203
8.2 STM32的USART工作原理205
8.3 USART的HAL库函数209
8.4 采用STM32CubeMX和HAL库的USART串行通信应用实例214
习题223
第9章 STM32 SPI控制器224
9.1 SPI的通信原理224
9.2 STM32F103 SPI的工作原理227
9.3 SPI的HAL库函数231
9.4 采用STM32CubeMX和HAL库的SPI应用实例235
习题245
第10章 STM32 I2C控制器246
10.1 STM32 I2C的通信原理246
10.2 STM32F103 I2C接口251
10.3 I2C的HAL库函数252
10.4 采用STM32CubeMX和HAL库的I2C应用实例256
习题260
第11章 STM32模/数转换器261
11.1 模拟量输入通道261
11.2 模拟量输入信号的类型与量程自动转换261
11.3 STM32F103ZET6集成的ADC模块262
11.4 ADC的HAL库函数271
11.5 采用STM32CubeMX和HAL库的ADC应用实例275
习题282
第12章 STM32 DMA控制器283
12.1 STM32 DMA的基本概念283
12.2 STM32 DMA的结构和主要特征284
12.3 STM32 DMA的功能描述286
12.4 DMA的HAL库函数288
12.5 采用STM32CubeMX和HAL库的DMA应用实例292
习题299
参考文献300
第1章 绪论1
1.1 嵌入式系统1
1.2 嵌入式系统的组成4
1.3 嵌入式软件6
1.4 嵌入式系统的分类13
1.5 嵌入式系统的应用领域14
1.6 嵌入式系统的体系15
1.7 嵌入式微处理器的分类18
1.8 ARM嵌入式微处理器19
1.9 ARM Cortex-M3的调试30
1.10 嵌入式系统的设计方法31
1.11 嵌入式系统的发展34
习题36
第2章 STM32 嵌入式微控制器与最小系统设计38
2.1 STM32 微控制器概述38
2.2 STM32F1系列产品系统架构和STM32F103ZET6内部架构45
2.3 STM32F103ZET6的存储器映射50
2.4 STM32F103ZET6的时钟结构54
2.5 STM32F103VET6的引脚57
2.6 STM32F103VET6 最小系统设计62
2.7 学习STM32的方法64
习题65
第3章 STM32CubeMX的应用66
3.1 安装STM32CubeMX66
3.2 安装MCU固件包67
3.3 软件的功能与基本使用方法70
3.4 HAL库89
习题96
第4章 嵌入式开发环境的搭建97
4.1 Keil MDK5的安装配置97
4.2 Keil MDK下新工程的创建103
4.3 J-Link及其驱动的安装107
4.4 Keil MDK5的调试方法109
4.5 Cortex-M3 微控制器软件接口标准114
4.6 STM32F103开发板的选择120
4.7 STM32仿真器的选择123
习题124
第5章 STM32通用输入/输出接口126
5.1 STM32通用输入/输出接口概述126
5.2 STM32的GPIO功能128
5.3 GPIO的HAL库函数132
5.4 STM32的GPIO使用流程135
5.5 采用STM32CubeMX和HAL库的GPIO输出应用实例135
5.6 采用STM32CubeMX和HAL库的GPIO输入应用实例146
习题150
第6章 STM32中断系统152
6.1 中断的基本概念152
6.2 STM32F103中断系统155
6.3 STM32F103外部中断/事件控制器159
6.4 STM32F1中断HAL库函数162
6.5 STM32F1外部中断设计流程166
6.6 采用STM32CubeMX和HAL库的外部中断设计实例168
习题173
第7章 STM32定时器系统174
7.1 STM32F103定时器概述174
7.2 STM32基本定时器175
7.3 STM32通用定时器178
7.4 STM32高级定时器186
7.5 STM32定时器的HAL库函数187
7.6 采用STM32CubeMX和HAL库的定时器应用实例195
习题202
第8章 STM32通用同步/异步收发器203
8.1 串行通信基础203
8.2 STM32的USART工作原理205
8.3 USART的HAL库函数209
8.4 采用STM32CubeMX和HAL库的USART串行通信应用实例214
习题223
第9章 STM32 SPI控制器224
9.1 SPI的通信原理224
9.2 STM32F103 SPI的工作原理227
9.3 SPI的HAL库函数231
9.4 采用STM32CubeMX和HAL库的SPI应用实例235
习题245
第10章 STM32 I2C控制器246
10.1 STM32 I2C的通信原理246
10.2 STM32F103 I2C接口251
10.3 I2C的HAL库函数252
10.4 采用STM32CubeMX和HAL库的I2C应用实例256
习题260
第11章 STM32模/数转换器261
11.1 模拟量输入通道261
11.2 模拟量输入信号的类型与量程自动转换261
11.3 STM32F103ZET6集成的ADC模块262
11.4 ADC的HAL库函数271
11.5 采用STM32CubeMX和HAL库的ADC应用实例275
习题282
第12章 STM32 DMA控制器283
12.1 STM32 DMA的基本概念283
12.2 STM32 DMA的结构和主要特征284
12.3 STM32 DMA的功能描述286
12.4 DMA的HAL库函数288
12.5 采用STM32CubeMX和HAL库的DMA应用实例292
习题299
参考文献300