目录
第 一 部 分
第1章STM32体系结构
微课视频59分钟
1.1嵌入式系统与STM32
1.1.1嵌入式系统简介
1.1.2STM32简介
1.2STM32体系结构
1.2.1Arm内核体系架构
1.2.2STM32系列微控制器
1.2.3STM32F407微控制器
1.3GPIO外设
1.3.1GPIO的寄存器及其映射
1.3.2GPIO的内部组成
1.3.3GPIO的工作模式
1.4STM32最小系统
1.4.1电源和复位启动电路
1.4.2时钟系统与时钟电路
1.4.3调试和下载电路
本章小结
本章习题
第2章STM32编程基础
微课视频101分钟
2.1STM32程序开发方式与开发环境
2.1.1程序开发方式
2.1.2开发环境
2.1.3程序下载及调试运行工具
2.2嵌入式C语言基础
2.2.1结构体和枚举
2.2.2数据类型别名
2.2.3指针
2.2.4C语言中的位操作
2.2.5预处理与条件编译
2.3基于寄存器的STM32程序设计
2.3.1程序设计步骤
2.3.2本书案例代码使用说明
2.4库的创建
2.4.1GPIO外设的封装与结构体定义
2.4.2GPIO操作函数的创建
本章小结
本章习题
第3章STM32固件包与HAL库
微课视频92分钟
3.1STM32固件包
3.1.1固件包的下载和安装
3.1.2固件包的组成和目录结构
3.2HAL库
3.2.1HAL库的特点与核心组件
3.2.2系统配置文件
3.2.3HAL库配置文件
3.2.4HAL库外设驱动函数文件
3.2.5各文件的包含关系
3.2.6启动文件
3.3基于CubeMX和HAL库的程序设计
3.3.1CubeMX的主界面
3.3.2基于CubeMX的程序设计流程
本章小结
本章习题
第 二 部 分
第4章中断和系统定时器
微课视频32分钟
4.1异常和中断管理系统
4.1.1基本概念
4.1.2NVIC和EXTI控制器
4.1.3中断优先级管理
4.2外部中断应用编程
4.2.1外部中断的CubeMX配置
4.2.2外部中断的初始化
4.2.3外部中断的处理
4.3系统滴答定时器
4.3.1SysTick的封装
4.3.2SysTick的初始化
4.3.3系统节拍与HAL时基
4.3.4HAL_Delay()函数
4.4看门狗与实时时钟
4.4.1看门狗
4.4.2实时时钟
本章小结
本章习题
第5章通信接口及其应用
微课视频112分钟
5.1通用串口及其应用
5.1.1通用串口的内部结构
5.1.2时钟和波特率
5.1.3通用串口在HAL库中的封装和定义
5.1.4串口重定向
5.2I2C接口及其应用
5.2.1I2C的基本概念
5.2.2STM32中的I2C接口
5.2.3I2C在HAL库中的封装和定义
5.3SPI及其应用
5.3.1SPI的基本概念
5.3.2STM32中的SPI
5.3.3SPI在HAL库中的封装和定义
5.3.4SPI外设的典型应用
本章小结
本章习题
第6章定时器及其应用
微课视频77分钟
6.1定时器的基本特性
6.2基本定时器
6.2.1功能框图及工作原理
6.2.2基本定时器的初始化
6.2.3相关HAL库函数
6.3通用定时器
6.3.1功能框图
6.3.2时钟源和计数模式
6.3.3输入捕获和比较输出
6.3.4PWM信号的产生和测量
本章小结
本章习题
第7章模拟外设
微课视频116分钟
7.1DAC及其应用
7.1.1DAC功能框图
7.1.2DAC相关HAL库驱动
7.2ADC及其应用
7.2.1ADC的功能框图
7.2.2ADC的初始化及相关HAL库驱动
7.3ADC的DMA传输
7.3.1DMA控制器
7.3.2DMA初始化配置
7.3.3DMA的启动和数据传输
本章小结
本章习题
第 三 部 分
第8章FreeRTOS基础
微课视频19分钟
8.1FreeRTOS简介
8.1.1嵌入式操作系统
8.1.2FreeRTOS的功能和特性
8.1.3固件包中的FreeRTOS
8.2FreeRTOS的初始化配置
8.2.1CubeMX工程配置
8.2.2工程文件的基本结构
8.2.3主程序文件
8.3FreeRTOS编程基础
8.3.1数据类型和代码格式
8.3.2FreeRTOS的移植和裁剪
8.4软件定时器
8.4.1软件定时器特性
8.4.2软件定时器相关函数
本章小结
本章习题
第9章FreeRTOS的任务和中断管理
微课视频33分钟
9.1多任务系统
9.1.1轮询系统
9.1.2前后台系统
9.1.3多任务系统
9.2任务的创建
9.2.1任务与任务函数
9.2.2FreeRTOS中的存储器管理
9.2.3创建任务
9.3任务的调度
9.3.1任务的优先级与状态
9.3.2基础时钟与时间片
9.3.3调度任务
9.4任务和调度器管理函数
9.4.1任务管理函数
9.4.2调度器管理函数
9.4.3CMSIS接口函数
9.5中断管理
9.5.1中断管理的运作机制
9.5.2中断的优先级
9.5.3FreeRTOS中的两套API函数
本章小结
本章习题
第10章FreeRTOS进程间通信技术
微课视频59分钟
10.1队列
10.1.1队列的创建和存储
10.1.2队列管理函数
10.1.3队列CMSIS接口函数
10.2信号量和互斥量
10.2.1信号量和互斥量的分类
10.2.2互斥量的优先级继承
10.2.3信号量和互斥量管理函数
10.2.4信号量和互斥量CMSIS接口函数
10.3事件组
10.3.1事件组的基本工作原理
10.3.2事件组管理函数
10.3.3事件组CMSIS接口函数
10.4任务通知
10.4.1任务通知的工作原理
10.4.2任务通知管理函数
10.4.3任务通知CMSIS接口函数
本章小结
本章习题
第 四 部 分
第11章综合应用实践案例
11.1两轮差速移动机器人简介
11.1.1机器人的运动原理
11.1.2机器人电机驱动及运动控制
11.2机器人运动控制程序设计
11.2.1基于HAL库的运动控制程序设计
11.2.2基于FreeRTOS的运动控制程序设计
11.3机器人巡线控制程序设计
11.3.1TSL1401CL简介
11.3.2基于HAL库的巡线控制程序设计
11.3.3基于FreeRTOS的巡线控制程序设计
本章小结
本章习题
参考文献
