第1篇 STM32F103硬件系统与Keil MDK工程 3
第1章 嵌入式系统概述 3
1.1 嵌入式系统范例 3
1.2 嵌入式系统概念 4
1.2.1 嵌入式系统与ARM的关系 5
1.2.2 嵌入式系统与嵌入式操作系统的关系 5
1.2.3 嵌入式系统研发特点 6
1.3 ARM发展历程及应用领域 7
1.3.1 ARM发展史及命名规则 7
1.3.2 ARM微处理器系列 8
1.3.3 ARM微处理器应用领域 12
1.4 嵌入式操作系统 13
1.4.1 Windows CE 14
1.4.2 VxWorks 15
1.4.3 嵌入式Linux 15
1.4.4 Android系统 16
1.5 μC/OS-Ⅱ与μC/OS-Ⅲ 16
1.5.1 μC/OS发展历程 16
1.5.2 μC/OS-Ⅱ特点 18
1.5.3 μC/OS-Ⅲ特点 19
1.5.4 μC/OS应用领域 21
1.6 本章小结 21
习题 22
第2章 STM32F103微控制器 23
2.1 STM32F103概述 23
2.2 STM32F103ZET6引脚定义 24
2.3 STM32F103架构 30
2.4 STM32F103存储器 33
2.5 STM32F103片内外设 36
2.6 STM32F103异常与中断 39
2.7 本章小结 41
习题 41
第3章 STM32F103学习平台 42
3.1 STM32F103核心电路 43
3.2 电源电路与按键电路 48
3.3 LED与蜂鸣器驱动电路 49
3.4 串口通信电路 49
3.5 Flash与EEPROM电路 50
3.6 温/湿度传感器电路 51
3.7 LCD屏接口电路 51
3.8 JTAG与复位电路 52
3.9 SRAM电路 53
3.10 本章小结 54
习题 54
第4章 LED灯控制与Keil MDK工程框架 55
4.1 STM32F103通用目的输入/输出口 55
4.1.1 GPIO寄存器 56
4.1.2 AFIO寄存器 59
4.2 STM32F103库函数用法 61
4.3 Keil MDK工程框架 64
4.4 LED灯闪烁实例 72
4.4.1 寄存器类型工程实例 72
4.4.2 库函数类型工程实例 76
4.5 本章小结 80
习题 80
第5章 按键与中断处理 81
5.1 NVIC中断工作原理 81
5.2 GPIO外部输入中断 88
5.3 用户按键中断实例 89
5.3.1 寄存器类型工程实例 89
5.3.2 库函数类型工程实例 95
5.4 本章小结 99
习题 99
第6章 定时器 100
6.1 系统节拍定时器 100
6.1.1 系统节拍定时器工作原理 100
6.1.2 系统节拍定时器实例 103
6.2 看门狗定时器 106
6.2.1 窗口看门狗定时器工作原理 106
6.2.2 窗口看门狗定时器寄存器类型实例 107
6.2.3 窗口看门狗定时器库函数类型实例 109
6.3 实时时钟 111
6.3.1 实时时钟工作原理 112
6.3.2 实时时钟寄存器类型实例 113
6.3.3 实时时钟库函数类型实例 116
6.4 通用定时器 118
6.4.1 通用定时器工作原理 118
6.4.2 通用定时器寄存器类型实例 120
6.4.3 通用定时器库函数类型实例 121
6.5 本章小结 124
习题 124
第7章 串口通信 125
7.1 串口通信工作原理 125
7.2 STM32F103串口 126
7.3 串口通信寄存器类型实例 129
7.4 串口通信库函数类型实例 134
7.5 本章小结 137
习题 137
第8章 存储器管理 138
8.1 SRAM存储器 138
8.1.1 访问SRAM存储器寄存器类型实例 144
8.1.2 访问SRAM存储器库函数类型实例 149
8.2 EEPROM存储器 153
8.2.1 访问EEPROM寄存器类型实例 157
8.2.2 访问EEPROM库函数类型实例 164
8.3 Flash存储器 167
8.3.1 STM32F103同步串行口 167
8.3.2 W25Q128访问控制 170
8.3.3 访问Flash存储器寄存器类型工程实例 172
8.3.4 访问Flash存储器库函数类型工程实例 182
8.4 本章小结 187
习题 187
第9章 LCD屏与温/湿度传感器 188
9.1 LCD屏显示原理 188
9.2 温/湿度传感器 200
9.3 LCD显示实例 204
9.3.1 寄存器类型实例 204
9.3.2 库函数类型实例 211
9.4 本章小结 216
习题 216
第2篇 嵌入式实时操作系统μC/OS-Ⅱ 221
第10章 μC/OS-Ⅱ系统与移植 221
10.1 μC/OS-Ⅱ系统移植 221
10.2 μC/OS-Ⅱ系统结构与配置 230
10.3 μC/OS-Ⅱ系统任务 236
10.3.1 空闲任务 236
10.3.2 统计任务 237
10.3.3 定时器任务 237
10.4 本章小结 238
习题 238
第11章 μC/OS-Ⅱ任务管理 239
11.1 μC/OS-Ⅱ用户任务 239
11.2 μC/OS-Ⅱ多任务工程实例 243
11.3 统计任务实例 256
11.4 系统定时器 259
11.5 本章小结 263
习题 263
第12章 信号量与互斥信号量 264
12.1 μC/OS-Ⅱ信号量 264
12.2 μC/OS-Ⅱ互斥信号量 266
12.3 信号量与互斥信号量实例 268
12.4 本章小结 282
习题 282
第13章 消息邮箱与消息队列 283
13.1 μC/OS-Ⅱ消息邮箱 283
13.2 μC/OS-Ⅱ消息队列 285
13.3消息邮箱与消息队列实例 287
13.4本章小结 296
习题 296
参考文献 297