图书目录

目录

第1部分基础篇

第1章ARM CortexM3内核与STM32微控制器

1.1STM32微控制器概述

1.2ARM处理器

1.2.1ARM体系结构的特点

1.2.2ARM系列微处理器

1.2.3ARM CortexM3系列处理器

1.3STM32F10x系列微控制器外部结构

1.3.1STM32F10x系列微控制器命名规则

1.3.2STM32F10x系列微控制器引脚功能

1.4STM32F10x系列微控制器内部结构

1.4.1STM32F10x内部总线

1.4.2STM32F10x内部时钟系统

1.4.3STM32F10x内部复位系统

1.4.4STM32F10x内部存储器结构

1.5STM32F10x最小系统电路设计

思考与练习

第2章STM32开发环境搭建

视频讲解: 40分钟,4集

2.1STM32开发模式

2.1.1寄存器开发模式

2.1.2标准外设库开发模式

2.1.3HAL库开发模式

2.2基于HAL库开发平台的搭建

2.2.1交叉编译环境

2.2.2安装STLink V2驱动

2.2.3安装集成开发环境Keil μVision5

2.2.4安装STM32CubeMX

2.3STM32F1固件库的文件结构

2.4STM32CubeMX生成的工程结构

思考与练习

第2部分外设通信篇

第3章通用输入/输出

视频讲解: 50分钟,3集

3.1GPIO概述

3.2GPIO的基本结构

3.2.1GPIO的寄存器

3.2.2GPIO的工作模式

3.2.3GPIO的输出速度

3.3GPIO的HAL库接口函数

3.4GPIO应用示例

3.4.1示例1: 阻塞方式实现LED灯闪烁

3.4.2示例2: 非阻塞方式实现LED灯闪烁

3.4.3示例3: 按键输入

思考与练习

第4章外部中断EXTI

视频讲解: 16分钟,1集

4.1中断的相关概念

4.1.1什么是中断

4.1.2中断优先级

4.1.3中断嵌套

4.1.4中断执行流程

4.2STM32中断和异常

4.2.1中断向量表

4.2.2NVIC基本结构

4.2.3NVIC优先级分组

4.2.4STM32中断服务例程

4.3STM32外部中断EXTI

4.4EXTI的HAL库接口函数

4.5EXTI应用示例

4.5.1示例功能和STM32CubeMX项目设置

4.5.2项目初始代码分析

4.5.3编写用户功能代码

4.5.4中断优先级测试

思考与练习

第5章串口通信

视频讲解: 44分钟,3集

5.1通信概述

5.2异步串行通信

5.2.1异步串行通信协议

5.2.2异步串行通信接口

5.2.3USB转串口

5.3STM32的USART模块

5.3.1USART内部结构

5.3.2校验控制

5.4USART编程方式

5.5串口的HAL驱动程序

5.5.1常用功能函数

5.5.2常用的宏函数

5.5.3中断事件与回调函数

5.6串口通信应用示例

5.6.1硬件电路和示例功能

5.6.2STM32CubeMX项目设置

5.6.3轮询方式实现串口通信

5.6.4中断方式实现串口通信

思考与练习

第6章DMA

视频讲解: 42分钟,3集

6.1STM32的DMA内部结构

6.1.1DMA请求与DMA通道

6.1.2仲裁器与优先权

6.2DMA传输参数配置

6.3DMA的HAL驱动程序

6.3.1DMA的HAL函数概述

6.3.2DMA传输初始化配置

6.3.3启动DMA传输

6.3.4DMA的中断

6.4串口的DMA传输应用示例

6.4.1示例1: 固定长度数据收发

6.4.2示例2: 接收不定长度数据和简易数据包解析

思考与练习

第7章I2C通信

视频讲解: 37分钟,3集

7.1I2C总线和通信协议

7.1.1I2C物理层

7.1.2I2C协议层

7.1.3I2C外设的工作特性及内部结构

7.2I2C的HAL驱动程序

7.2.1I2C接口的初始化

7.2.2阻塞式数据传输

7.2.3中断方式数据传输

7.2.4DMA方式数据传输

7.3OLED显示器

7.3.1显示器的基本参数

7.3.20.96英寸OLED显示器特性

7.3.3SSD1306驱动芯片简介

7.4I2C应用示例: 驱动OLED

7.4.1示例功能和STM32CubeMX项目设置

7.4.2程序功能的实现

7.4.3移植OLED驱动

思考与练习

第8章SPI通信

视频讲解: 38分钟,3集

8.1SPI接口和通信协议

8.1.1SPI硬件接口

8.1.2SPI传输协议

8.1.3CPOL/CPHA及通信模式

8.1.4SPI外设的工作特性及内部结构

8.2SPI的HAL驱动程序

8.2.1SPI初始化和阻塞式数据传输

8.2.2中断方式数据传输

8.2.3DMA方式数据传输

8.3Flash存储芯片W25Q64

8.3.1W25Q64简介

8.3.2存储空间划分

8.3.3操作指令

8.3.4状态寄存器

8.3.5Flash数据读写的原则

8.4SPI应用示例: 轮询方式读写W25Q64

8.4.1示例功能与STM32CubeMX项目设置

8.4.2初始程序

8.4.3编写W25Q64的驱动程序

8.4.4W25Q64功能测试

思考与练习

第3部分高级功能篇

第9章基础定时器

视频讲解: 19分钟,2集

9.1定时器概述

9.2基础定时器工作特性和内部结构

9.3基础定时器HAL驱动程序

9.3.1基础定时器主要函数

9.3.2其他通用操作函数

9.3.3中断处理

9.4基础定时器应用示例

9.4.1示例功能和STM32CubeMX项目配置

9.4.2程序功能实现

思考与练习

第10章通用定时器

视频讲解: 80分钟,6集

10.1通用定时器概述

10.1.1功能概述

10.1.2通用定时器内部结构

10.2常用功能原理和HAL驱动

10.2.1生成PWM波

10.2.2输出比较

10.2.3输入捕获

10.2.4PWM输入模式

10.2.5通用定时器中断事件和回调函数

10.3通用定时器应用示例1: 生成PWM

10.3.1电路原理和STM32CubeMX项目配置

10.3.2输出固定占空比PWM波

10.3.3输出占空比可调的PWM波

10.4通用定时器应用示例2: 输出比较

10.4.1示例功能和STM32CubeMX项目设置

10.4.2程序功能实现

10.5通用定时器应用示例3: PWM输入捕获

10.5.1示例功能和STM32CubeMX项目设置

10.5.2程序功能实现

思考与练习

第11章模拟数字转换

视频讲解: 56分钟,6集

11.1ADC功能概述

11.1.1ADC的特性

11.1.2ADC的工作原理

11.1.3多重ADC模式

11.2ADC的HAL驱动程序

11.2.1常规通道

11.2.2注入通道

11.2.3多重ADC

11.3ADC应用示例1: 软件方式启动ADC

11.3.1硬件电路和示例功能

11.3.2STM32CubeMX项目设置

11.3.3程序功能实现

11.4ADC应用示例2: 定时器触发ADC

11.4.1示例功能和STM32CubeMX项目设置

11.4.2程序功能实现

11.5ADC应用示例3: 多通道和DMA传输

11.5.1示例功能和STM32CubeMX项目设置

11.5.2程序功能实现

思考与练习