本书从工程实践出发,旨在引领读者学会如何在STM32单片机的开发设计过程中发现问题、分析问题并解决问题。本书的主要读者为电子、计算机、控制及信息等相关专业的在校学生,从事单片机开发设计的电子工程师,以及所有电子设计制作的爱好者。
本书收集整理了作者在STM32单片机学习和实践中的经验,由浅入深,带领大家进入STM32的世界。
本书共23章:第1~2章主要介绍本书的实验平台以及STM32开发软件的使用和一些下载调试的技巧;第3~8章详细介绍了CortexM4单片机的各个片上外设;第9~10章介绍了两大常用通信协议;第11~22章详细介绍了在智能锁项目中所用到的各个模块;第23章介绍了ESP 32接入阿里云平台设备。从最简单的内容开始讲解,循序渐进,以智能锁项目为依托进行理论和实践的结合。
第1章初识CortexM4处理器1
1.1ARM处理器简介1
1.1.1ARM公司发展历程1
1.1.2Classic系列处理器2
1.1.3Cortex系列处理器3
1.1.4SecurCore系列处理器4
1.2CortexM4处理器简介4
1.2.1CortexM4处理器的组成5
1.2.2CortexM4处理器的优点5
1.2.3CortexM4处理器的应用6
1.3CortexM4处理器之STM32简介6
1.3.1STM32F407系列芯片简介6
1.3.2STM32F407处理器的组成7
1.3.3STM32F407处理器的应用8
1.4思考与练习9
第2章CortexM4处理器开发过程分析10
2.1搭建开发环境10
2.1.1安装程序编写与编译软件10
2.1.2注册软件15
2.1.3安装芯片支持包16
2.1.4安装烧录器驱动18
2.2创建项目工程20
2.3烧录程序31
2.4思考与练习31
第3章CortexM4处理器使用入门32
3.1GPIO简介32
3.1.1由官网下载学习资料32
3.1.2STM32F407的GPIO简介34
3.1.3STM32F407的GPIO特征35
3.2GPIO的原理分析35
3.2.1GPIO功能描述35
3.2.2GPIO框图剖析36
3.3GPIO的配置流程38
3.3.1外设时钟配置38
3.3.2普通输入功能45
3.3.3普通输出功能45
3.3.4复用功能46
3.3.5模拟功能47
3.3.6GPIO使用的相关函数47
3.4分析LED灯例程52
3.4.1LED灯硬件结构分析52
3.4.2LED灯软件设计分析53
3.4.3LED灯例程核心代码53
3.5总结54
3.6思考与练习54
第4章串口通信USART55
4.1UART概述55
4.1.1相关概念补充55
4.1.2UART原理56
4.1.3UART数据帧格式56
4.1.4UART四要素57
4.2STM32的UART概述57
4.2.1STM32的UART介绍57
4.2.2STM32的UART通信过程57
4.2.3STM32的UART特征57
4.3TM32的UART框架(重点理解)59
4.3.1框架分析59
4.3.2波特率分析60
4.4STM32的UART相关配置函数61
4.5分析串口例程63
4.5.1串口硬件结构分析63
4.5.2串口软件流程设计63
4.5.3串口例程核心代码64
4.6总结67
4.7思考与练习67
第5章中断68
5.1中断简介68
5.2CortexM4中断简介69
5.2.1NVIC优先级介绍69
5.2.2NVIC配置函数70
5.3STM32的中断简介71
5.3.1STM32的NVIC介绍71
5.3.2STM32的NVIC配置函数72
5.4外设中断详解73
5.4.1外设中断介绍73
5.4.2外设中断相关配置函数74
5.4.3外设中断编程思路75
5.4.4外设中断例程75
5.5外部中断详解79
5.5.1外部中断简介79
5.5.2外部中断框架80
5.5.3外部中断相关配置函数81
5.5.4外部中断例程82
5.6软件中断详解85
5.6.1软件中断介绍85
5.6.2软件中断框架85
5.6.3软件中断相关配置函数86
5.6.4软件中断例程87
5.7总结88
5.8思考与练习88
第6章定时器89
6.1定时器简介89
6.1.1定时器的本质与构成89
6.1.2STM32的定时器89
6.2基本定时器详解89
6.2.1基本定时器介绍89
6.2.2基本定时器的特征90
6.2.3基本定时器框架90
6.2.4基本定时器相关配置函数91
6.2.5基本定时器例程94
6.3通用定时器详解96
6.3.1通用定时器简介96
6.3.2通用定时器框架96
6.3.3通用定时器时钟源97
6.3.4通用定时器比较输出98
6.3.5通用定时器捕获输入103
6.4总结112
6.5思考与练习112
第7章模/数转换器113
7.1模/数转换器概述113
7.1.1模/数转换器的用途113
7.1.2模/数转换器的原理113
7.1.3模/数转换器的主要参数114
7.2STM32的模/数转换器114
7.2.1STM32的模/数转换器简介114
7.2.2模/数转换器的主要特性115
7.2.3模/数转换器的概念补充115
7.3模/数转换器的框架分析115