第1章 嵌入式系统概述 1
1.1嵌入式系统简介 1
1.2嵌入式系统微处理器 4
1.3ARM系列嵌入式微处理器 7
1.4 嵌入式操作系统 10
1.5本章小结 14
第2章 STM32F10x微处理器的组成及编程模式 15
2.1为什么选择STM32F10x微处理器 15
2.2 STM32F10x开发工具介绍 16
2.3 MDK在STM32F10x处理器上的使用 18
2.3.1 MDK的安装 18
2.3.2实例:工程的建立和配置 22
2.3.3使用MDK进行STM32的程序开发 24
第3章 ARM Cortex-M3基础知识 30
3.1 ARM Cortex-M3寄存器组 30
3.2 ARM Cortex-M3指令集 35
3.3 ARM Cortex-M3的存储器系统 52
3.4 ARM Cortex-M3使用异常系统 62
3.5 ARM Cortex-M3调试系统 70
第4章 ARM7应用程序移植到Cortex-M3处理器 80
4.1应用简介 80
4.2系统性质 80
4.3汇编源程序 82
4.4 C源程序 84
第5章 STM32F10x的开发 86
5.1选择一款Cortex-M3产品 86
5.2 Cortex-M3版本0与版本1的区别 86
5.3开发工具 88
5.4库函数 89
5.5 STM32固件库简介 90
5.6红龙开发板简介 90
5.7开发板接口简介 92
第6章 通用I/O(GPIO) 94
6.1概述 94
6.2可选择的端口功能 94
6.3相关寄存器 96
6.4典型硬件电路设计 97
6.5例程源代码分析 98
第7章 EXTI中断系统理论与实战 110
7.1 STM32中断系统的简介 110
7.2嵌套向量中断控制器 114
7.3外部中断/事件控制器 116
7.4 EXTI寄存器描述 117
7.5典型硬件电路设计 120
7.6例程源代码分析 121
第8章 RTC实时时钟理论与实战 133
8.1 RTC实时时钟的功能 133
8.2 RTC相关寄存器介绍 134
8.3典型硬件电路设计 138
8.4例程源代码分析 138
第9章 通用定时器 148
9.1概述 148
9.2时基单元介绍 150
9.3相关寄存器介绍 151
9.4典型硬件电路设计 152
9.5例程源代码分析 152
第10章 定时器外部脉冲计数 162
10.1 TIMx外部脉冲计数功能简介 162
10.2典型硬件电路设计 163
10.3例程源码分析 164
第11章 PWM理论与实战 170
11.1概述 170
11.2 PWM输出的工作原理 170
11.3 PWM输出信号的频率和占空比 172
11.4相关寄存器 173
11.5典型硬件电路设计 174
11.6例程源代码分析 175
第12章 通用同步/异步收发器(USART) 183
12.1概述 183
12.2 USART操作 186
12.3 USART特殊功能寄存器 186
12.4典型硬件电路设计 187
12.5例程源代码分析 188
第13章 RS485通信 196
13.1概述 196
13.2 SP3485芯片简介 197
13.3典型硬件电路设计 198
13.4例程源码分析 199
第14章 DMA实验 204
14.1概述 204
14.2 DMA的工作原理及结构 205
14.3相关寄存器简介 208
14.4典型硬件电路设计 209
14.5例程源码分析 209
第15章 窗口看门狗 219
15.1概述 219
15.2窗口看门狗的工作原理 220
15.3相关寄存器介绍 221
15.4典型硬件电路设计 223
15.5例程源码分析 223
第16章 ADC转换 231
16.1 ADC转换原理 231
16.2 ADC控制寄存器介绍 238
16.3典型硬件电路设计 240
16.4例程源代码分析 240
第17章 DAC实验 251
17.1概述 251
17.2 STM32 DAC的功能 252
17.3相关寄存器简介 255
17.4典型硬件电路设计 255
17.5例程源码分析 256
第18章 I2 C总线设备 264
18.1概述 264
18.2 I2C总线工作原理 266
18.3相关寄存器 269
18.4典型硬件电路设计 271
18.5例程源代码分析 271
第19章 CAN总线 291
19.1概述 291
19.2 STM32 CAN总线的特点 294
19.3 STM32 bxCAN的功能 295
19.4相关寄存器简介 298
19.5典型硬件电路设计 298
19.6例程源码分析 299
第20章 STM32的系统时钟 317
20.1 STM32的时钟树 317
20.2系统时钟 318
20.3相关寄存器 319
20.4典型硬件电路设计 320
20.5例程源码分析 320
第21章 FSMC控制器 324
21.1概述 324
21.2 FSMC功能描述 324
21.3 FSMC外部设备地址映像 326
21.4 FSMC扩展SRAM时序的分析 328
21.5典型硬件电路设计 329
21.6例程源码分析 330
第22章 NOR Flash实验 337
22.1概述 337
22.2 FSMC NOR Flash的配置说明 337
22.3典型硬件电路设计 338
22.4例程源码分析 339
第23章 NAND Flash实验 352
23.1概述 352
23.2 NAND Flash的存储结构 353
23.3典型硬件电路设计 353
23.4例程源码分析 355
第24章 TFT彩屏FSMC驱动 367
24.1概述 367
24.2 TFT彩屏工作原理 367
24.3 TFT的FSMC接口 370
24.4 典型硬件电路设计 372
24.5例程源码分析 372
第25章 SDIO介绍 374
25.1概述 374
25.2 SDIO功能介绍 374
25.3典型硬件电路设计 376
25.4例程源码分析 377
第26章 SD卡的读取 383
26.1概述 383
26.2 SD卡的结构 384
26.3典型硬件电路设计 385
26.4 例程源码分析 385
第27章 SPI通信及FAT32文件读/写 390
27.1概述 390
27.2 SPI工作原理 391
27.3 FAT32简介 393
27.4典型硬件电路设计 393
27.5例程源码分析 394
第28章 USB转串口实验 396
28.1概述 396
28.2 PI2303的简介 396
28.3典型硬件电路设计 397
28.4例程源码分析 399
第29章 USB通信 403
29.1 USB通信原理 403
29.2 STM32的USB电路设计 405
29.3例程源代码分析 406
第30章 PS2接口 414
30.1概述 414
30.2 PS2协议 414
30.3典型硬件电路设计 416
30.4例程源码分析 416
第31章 NRF24L01无线通信 423
31.1概述 423
31.2 NRF24L01模块的结构特性 423
31.3典型硬件电路设计 424
31.4例程源码分析 424
第32章 红外遥控实验 427
32.1红外遥控简介 427
32.2红外遥控的工作原理 427
32.3典型硬件电路设计 429
32.4例程源码分析 430
参考文献 437