第1章 ARM和嵌入式系统介绍 1
1.1 ARM微处理器概述 1
1.1.1 ARM简介 1
1.1.2 ARM微处理器的应用领域及特点 2
1.1.3 ARM微处理器系列 2
1.1.4 ARM微处理器结构 5
1.1.5 ARM微处理器的应用选型 6
1.2 嵌入式系统的概念 7
1.2.1 嵌入式系统定义 7
1.2.2 嵌入式发展过程 7
1.3 嵌入式操作系统 9
1.3.1 概述 9
1.3.2 操作系统 10
1.3.3 实时操作系统(RTOS) 11
1.3.4 通用型操作系统 12
1.3.5 嵌入式常见的几个概念 12
1.3.6 常见的嵌入式操作系统 15
第2章 ARM体系结构 19
2.1 ARM体系结构的特点 19
2.2 各ARM体系结构版本 19
2.3 处理器模式 21
2.4 内部寄存器 21
2.5 处理器异常 23
2.6 STM32存储器组织 28
2.7 调试接口简介 30
第3章 Cortex-M3控制器及外围硬件简介 31
3.1 STM32简介 31
3.2 Cortex-M3控制器特性 31
3.3 订购信息 33
3.4 STM32系列内部结构方框图 34
3.5 外围硬件介绍 34
第4章 指令集和时钟 39
4.1 Thumb-2指令集介绍 39
4.2 指令格式 39
4.3 Cortex-M3时钟控制 39
第5章 GPIO实验 41
5.1 GPIO简介 41
5.2 GPIO功能特点 41
5.3 与GPIO相关的寄存器 43
5.4 原理图 47
5.5 GPIO配置过程 48
5.6 GPIO口实验范例 48
5.7 作业 49
第6章 UART实验 50
6.1 UART简介 50
6.2 UART特性 51
6.3 串口如何工作 51
6.4 与UART相关寄存器 53
6.4.1 状态寄存器(USART_SR) 53
6.4.2 数据寄存器(USART_DR) 55
6.4.3 波特比率寄存器(USART_BRR) 55
6.4.4 控制寄存器1(USART_CR1) 56
6.4.5 控制寄存器2(USART_CR2) 57
6.4.6 控制寄存器3(USART_CR3) 59
6.4.7 保护时间和预分频寄存器(USART_GTPR) 60
6.5 硬件连接 60
6.6 程序编程步骤 61
6.7 范例程序 61
6.8 作业 63
第7章 模/数转换 64
7.1 A/D简介 64
7.2 A/D的主要参数 64
7.3 STM32系列A/D转换特点 64
7.4 与A/D相关的寄存器 66
7.4.1 ADC状态寄存器(ADC_SR) 66
7.4.2 ADC控制寄存器1(ADC_CR1) 66
7.4.3 ADC控制寄存器2(ADC_CR2) 68
7.4.4 ADC采样时间寄存器1(ADC_SMPR1) 70
7.4.5 ADC采样时间寄存器2(ADC_SMPR2) 71
7.4.6 ADC注入通道数据偏移寄存器x(ADC_JOFRx)(x=1,…,4) 71
7.4.7 ADC看门狗高阈值寄存器(ADC_HTR) 71
7.4.8 ADC看门狗低阈值寄存器(ADC_LRT) 72
7.4.9 ADC规则序列寄存器1(ADC_SQR1) 72
7.4.10 ADC规则序列寄存器2(ADC_SQR2) 72
7.4.11 ADC规则序列寄存器3(ADC_SQR3) 73
7.4.12 ADC注入序列寄存器(ADC_JSQR) 73
7.4.13 ADC注入数据寄存器x(ADC_JDRx)(x=1,…,4) 74
7.4.14 ADC规则数据寄存器(ADC_DR) 74
7.5 硬件连接 74
7.6 范例程序 75
第8章 定时器实验 77
8.1 通用定时器简介 77
8.2 STM32系列通用定时器特点 77
8.3 与基本定时器相关的寄存器 79
8.4 范例程序 84
8.5 作业 86
第9章 中断实验 87
9.1 中断简介 87
9.2 STM32中断特性 87
9.3 中断向量表 87
9.4 范例程序 90
9.5 作业 92
第10章 RTC实验 93
10.1 STM32系列RTC特点 93
10.2 与RTC相关的寄存器 93
10.3 范例程序 98
10.4 作业 100
第11章 IIC实验 101
11.1 STM32系列IIC特点 101
11.2 与IIC相关的寄存器 102
11.3 范例程序 110
第12章 看门狗实验 113
12.1 STM32系列IWDG特点 113
12.2 与IWDG相关的寄存器 113
12.3 范例程序 115
12.3.1 独立看门狗程序 115
12.3.2 窗口看门狗程序 117
第13章 SPI实验 120
13.1 SPI简介 120
13.2 SPI特点 120
13.3 与SPI相关寄存器 121
13.4 范例程序 127
第14章 CAN BUS实验 130
14.1 CAN简介 130
14.2 bxCAN主要特点 130
14.3 CAN相关的寄存器 131
14.4 范例程序 144
第15章 协处理器DMA 148
15.1 DMA简介 148
15.2 DMA控制器的功能特点 148
15.3 DMA相关控制模块 150
第16章 USB 151
16.1 USB外设特点 151
16.2 USB硬件分析 151
第17章 μC/OSⅡ简介 153
17.1 微控制器操作系统 153
17.2 μC/OS简介 154
17.3 μC/OS特性 154
17.4 μC/OS-Ⅱ图书 155
17.5 μC/OS-Ⅱ提供的系统服务 155
第18章 μC/OSⅡ操作系统移植 156
18.1 μC/OSⅡ成功移植的条件 156
18.2 μC/OSⅡ移植的相关工作 156
18.3 用户实时任务编写 157
第19章 项目实战 158
19.1 项目管理知识 158
19.2 C语言编程规范 160
19.2.1 编程总原则 160
19.2.2 编程举例 162
19.2.3 注释 162
19.2.4 变量命名 163
19.2.5 编辑风格 163
19.3 ARM项目范例讲解 164
第20章 KEIL集成开发环境介绍及应用 166
参考文献 171