第1章 ARM家族介绍 1
1.1单片微型计算机发展 1
1.2嵌入式系统简介 1
1.3 Cortex-M3简介 4
1.4 ARM系列嵌入式系统处理器 5
第2章 Cortex-M3体系结构 8
2.1微处理器核结构 8
2.2处理器的操作模式及状态 9
2.3寄存器 9
2.4总线矩阵 10
2.5系统地址映射 11
2.6指令集 12
2.7流水线 15
2.8异常和中断处理 16
第3章 STM32F10X电源、时钟及复位电路 18
3.1电源电路 18
3.2时钟树结构 19
3.3复位电路 23
3.4启动设置 24
第4章 STM32F10X最小系统与开发环境 26
4.1 STM32F10X最小系统运行条件 26
4.2 STM32F10X最小系统设计要点 26
4.3 STM32F10X程序下载的几种方法 28
4.4 FWLib固件库 28
4.5开发环境 28
4.6 IAR EWARM使用入门 30
4.7 STM32入门之点亮流水灯 41
第5章 STM32F10X功能与资源概述 45
5.1电源控制 45
5.2实时时钟RTC 46
5.3备份寄存器BKP 48
5.4独立看门狗IWDG 49
5.5 GPIO 50
5.6中断和事件 53
5.7 DMA控制器 55
5.8高级定时控制器TIM1 57
5.9通用定时控制器TIMx 60
5.10控制器局域网bxCAN 63
5.11 I2C接口 67
5.12串行外设接口SPI 69
5.13 USART收发器 73
5.14 USB全速设备接口 78
5.15模拟/数字转换ADC 80
5.16调试支持DBG 83
第6章 基于STM32的M1非接触卡的读卡器设计 85
6.1概述 85
6.2非接触卡的分类 85
6.3 M1非接触卡读卡器系统设计 85
6.4 M1非接触卡读卡器硬件设计 86
6.5 M1非接触卡读卡器软件设计 91
6.6总结 103
第7章 基于STM32的数字远程数据采集站 105
7.1概述 105
7.2数字远程数据采集站硬件设计 105
7.3数字远程数据采集站软件设计 114
7.4总结 137
第8章 基于STM32的矿用安全监测数据转发器设计 138
8.1概述 138
8.2数据转发器技术要求 138
8.3 RS485总线基础 139
8.4 CANBUS总线基础 139
8.5 STM32F10X的CAN总线接口 140
8.6数据转发器设计 146
8.7 PFC8563的程序设计 151
8.8 RS485收发电路设计 158
8.9 CAN收发电路设计 162
8.10自恢复看门狗设计 166
8.11主程序设计 166
8.12总结 167
第9章 基于STM32的多路无线温度采集系统 170
9.1概述 170
9.2多路无线温度采集板设计 171
9.3数据接收显示设计 208
第10章 基于STM32的电力采集板设计 214
10.1概述 214
10.2电力采集板功能需求 214
10.3 ATT7022A简介 215
10.4 ATT7022A部分寄存器说明 219
10.5采集板设计 223
10.6系统程序设计分析 228
10.7总结 234
第11章 液晶触摸屏在STM32F10X上的移植 235
11.1概述 235
11.2 STM32的FSMC简介 235
11.3液晶显示模块设计 238
11.4 GPS定位模块设计 263
11.5总结 274
第12章 基于STM32的USB键盘设计 275
12.1 USB概述 275
12.2 USB的特点 275
12.3基于STM32的USB键盘设计要求 277
12.4 STM32F10X的USB功能简介 277
12.5 USB键盘硬件设计 284
12.6 USB键盘程序设计及分析 286
12.7总结 303
第13章 基于STM32的μC/OS-Ⅱ嵌入式系统移植 305
13.1嵌入式系统简介 305
13.2μC/OS-Ⅱ操作系统简介 306
13.3μC/OS-Ⅱ操作系统任务管理 307
13.4 μC/OS-Ⅱ操作系统时间管理 310
13.5 μC/OS-Ⅱ操作系统任务间通信 311
13.6 μC/OS-Ⅱ操作系统在STM32上的移植 316
13.7 μC/OS-Ⅱ操作系统步骤 316
13.8总结 323
参考文献 324