第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