第1章STM32处理器与实验平台概述 1
1.1 STM32处理器概述 1
1.1.1 STM32F1xx系列 1
1.1.2 STM32F2xx系列 3
1.1.3 STM32L1xx系列 6
1.2 STM32实验平台 8
1.2.1 STM32MINI开发平台 8
1.2.2 STM32-V3开发平台 9
1.2.3 STM32TINY开发平台 10
第2章 嵌入式系统μC/OS-II 11
2.1嵌入式系统μC/OS-II概述 11
2.1.1 μC/OS-II系统特点 11
2.1.2 μC/OS-II系统内核 13
2.1.3任务管理 22
2.1.4时间管理 23
2.1.5任务之间的通信与同步 24
2.1.6内存管理 26
2.2 μC/OS-II系统移植 27
2.2.1移植μC/OS-II满足的条件 27
2.2.2 μC/OS-II嵌入式系统移植要点 27
2.3设计目标 31
2.4 μC/OS-II系统软件设计 32
2.5实例总结 37
2.6实例操作演示 37
第3章 嵌入式图形系统μC/GUI 39
3.1嵌入式图形系统μC/GUI 39
3.1.1 μC/GUI系统软件结构 39
3.1.2文本显示 40
3.1.3数值显示 42
3.1.4 2D图形库 44
3.1.5字体 48
3.1.6颜色 50
3.1.7存储设备 52
3.1.8视窗管理器 52
3.1.9窗口对象 54
3.1.10对话框 65
3.1.11抗锯齿 66
3.1.12输入设备 67
3.1.13时间函数 69
3.2 μC/GUI系统移植 69
3.3设计目标 71
3.4系统软件设计 71
3.5实例总结 77
3.6显示效果 77
第4章 实时时钟系统设计实例 78
4.1 RTC简述 78
4.1.1 RTC复位过程 80
4.1.2 RTC寄存器操作 80
4.1.3 RTC寄存器描述 81
4.1.4备份寄存器描述 86
4.2设计目标 88
4.3 RTC系统硬件构成 89
4.4系统软件设计 90
4.5实例总结 109
4.6显示效果 109
第5章 串行Flash存储器应用实例 111
5.1串行Flash存储器概述 111
5.1.1 SST25VF016B引脚功能描述 112
5.1.2器件操作 113
5.1.3状态寄存器 115
5.1.4 SST25VF016B指令集 116
5.2设计目标 125
5.3硬件电路原理设计 125
5.4 μC/OS-II系统软件设计 125
5.4.1主要程序代码 126
5.4.2 FATFS文件系统的移植 138
5.5实例总结 145
5.6显示效果 145
第6章GPIO接口应用实例 146
6.1 GPIO接口应用概述 146
6.1.1 GPIO端口功能 147
6.1.2 GPIO端口配置 149
6.1.3 GPIO寄存器描述 151
6.2设计目标 156
6.3硬件原理 156
6.4系统软件 157
6.5实例总结 169
6.6操作演示 169
第7章ADC转换应用实例 170
7.1 ADC概述 170
7.1.1 ADC模块功能 171
7.1.2 ADC寄存器功能描述 185
7.1.3 ADC误差种类 196
7.2设计目标 197
7.3 A/D转换硬件电路设计 197
7.3.1温湿度变送器简述 197
7.3.2硬件电路原理图 198
7.4 A/D转换实例系统软件设计 199
7.5实例总结 209
7.6显示效果 210
第8章LCD液晶显示屏与触摸屏系统设计实例 211
8.1 LCD液晶显示屏概述 211
8.1.1 LCD液晶显示屏原理 211
8.1.2 LCD液晶显示屏的分类 212
8.2触摸屏驱动原理简述 213
8.2.1电阻触摸屏工作原理 213
8.2.2触摸屏控制实现 214
8.3设计目标 214
8.4系统硬件设计 214
8.4.1 STM32微处理器FSMC接口 214
8.4.2 LCD液晶显示屏介绍 217
8.4.3触摸屏控制板 218
8.4.4硬件电路 220
8.5系统软件设计 222
8.6实例总结 242
8.7显示效果 243
第9章SDIO接口应用实例——SD卡与MP3播放器设计 244
9.1 SDIO应用概述 244
9.1.1 SD存储卡 244
9.1.2 SDIO接口概述 248
9.2设计目标 264
9.3硬件电路设计 264
9.3.1 VS1003芯片概述 265
9.3.2硬件电路原理图 269
9.4 μC/OS-II系统软件设计 270
9.5实例总结 288
9.6显示效果 289
第10章I2 C接口应用实例——FM收音机设计 290
10.1 12C总线应用概述 290
10.1.1 I2 C总线拓扑 290
10.1.2 I2C总线的数据通信 291
10.2设计目标 294
10.3硬件电路设计 294
10.3.1 TEA5767芯片概述 295
10.3.2硬件电路原理 300
10.4 μC/OS-II系统软件设计 301
10.5实例总结 319
10.6显示效果 320
第11章CAN总线应用实例 321
11.1 CAN总线概述 321
11.1.1 CAN总线网络拓扑 322
11.1.2 CAN通信协议 322
11.1.3 CAN总线信号特点 323
11.1.4 CAN的位仲裁技术 323
11.1.5 CAN总线的帧格式 324
11.1.6 CAN报文的帧类型 325
11.2 STM32处理器的CAN模块概述 330
11.2.1 bxCAN模块工作模式 331
11.2.2 bxCAN模块操作描述 333
11.2.3 bxCAN模块的寄存器功能描述 337
11.3设计目标 350
11.4硬件电路设计 350
11.4.1 TJA1050器件概述 351
11.4.2硬件电路原理图 352
11.5 μC/OS-11系统软件设计 353
11.6实例总结 364
11.7显示效果 364
第12章 以太网应用实例 366
12.1以太网概述 366
12.1.1以太网的网络传输介质 366
12.1.2以太网数据帧格式 369
12.2设计目标 371
12.3硬件电路设计 373
12.3.1以太网控制器ENC28J60概述 373
12.3.2硬件电路原理图 381
12.4系统软件设计 382
12.4.1 μC/OS-II系统程序 384
12.4.2μIP协议栈及应用程序 394
12.5实例总结 416
12.6显示效果 416
第13章nRF24L01无线数据收发实例 417
13.1无线收发器nRF24L01概述 417
13.1.1无线收发器nRF24L01引脚功能定义 418
13.1.2无线收发器nRF24L01工作模式设置 419
13.1.3无线收发器nRF24 L0 1的SPI接口指令设置 421
13.1.4无线收发器nRF24L01寄存器功能描述 421
13.1.5无线收发器nRF24L01读/写操作时序 428
13.1.6无线收发器nRF24L01数据包处理方式 428
13.2 STM32处理器SPI接口概述 429
13.2.1时钟信号的相位和极性 431
13.2.2配置SPI接口为主模式 432
13.2.3 STM32处理器SPI接口寄存器 433
13.3设计目标 438
13.4硬件电路设计 439
13.5无线数据点对点通信软件设计 442
13.5.1主机系统软件设计 443
13.5.2从机软件设计 457
13.6实例总结 461
13.7显示效果 462
第14章Zigbee无线模块应用实例 463
14.1 Zigbee技术概述 463
14.1.1 Zigbee协议的体系结构 464
14.1.2 Zigbee协议设备类型 465
14.1.3 Zigbee网络拓扑结构 466
14.1.4 Zigbee技术应用领域 466
14.2设计目标 467
14.3 Zigbee硬件模块电路设计 468
14.3.1 CC2530芯片简述 468
14.3.2 CC2530芯片引脚功能概述 470
14.3.3 CC2530芯片的USART接口及寄存器配置 472
14.3.4 Zigbee模块电路原理图及说明 477
14.4 μC/OS-II系统软件设计 478
14.5实例总结 488
14.6显示效果 488
第15章USB Joystick应用实例 489
15.1 USB模块概述 489
15.2 USB寄存器 491
15.2.1通用寄存器 491
15.2.2端点寄存器 495
15.2.3缓冲区描述表 499
15.3设计目标 501
15.4硬件电路设计 501
15.5软件设计 501
15.5.1 USB Joystick设备固件代码设计 502
15.5.2 μC/OS-11系统软件设计 505
15.6实例总结 510
15.7显示效果 511
第16章GPS通信系统设计 512
16.1 GPS系统应用概述 512
16.1.1 GPS系统工作原理 512
16.1.2 GPS系统构成 513
16.1.3 GPS模块输出信号分析 513
16.2 STM32处理器USART接口概述 516
16.3设计目标 519
16.4硬件电路 519
16.5系统软件设计 520
16.6实例总结 537
16.7显示效果 537
第17章 智能小车驱动设计 538
17.1智能小车应用系统概述 538
17.2 STM32处理器通用定时器概述 539
17.2.1时基单元 541
17.2.2 PWM模式 541
17.3设计目标 541
17.4硬件电路设计 542
17.5 μC/OS-11系统软件设计 542
17.6实例总结 561
17.7显示效果 561
第18章 三轴加速度传感器应用 562
18.1三轴加速度传感器应用概述 562
18.1.1三轴加速度传感器MMA7455L概述 563
18.1.2 MMA7455L的引脚功能描述 564
18.1.3 MMA7455L的工作模式及相关寄存器功能配置 565
18.1.4数字通信接口 573
18.2设计目标 575
18.3硬件电路设计 575
18.4系统软件设计 576
18.5实例总结 583
18.6显示效果 584
参考文献 585