目录
第1部分基础篇
第1章ARM CortexM3内核与STM32微控制器
1.1STM32微控制器概述
1.2ARM处理器
1.2.1ARM体系结构的特点
1.2.2ARM系列微处理器
1.2.3ARM CortexM3系列处理器
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安装STLink 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程序功能实现
思考与练习
