第1章STM32处理器与实验平台概述 1
1.1 STM32处理器概述 1
1.1.1 STM32F1 xx系列 1
1.1.2 STM32F2xx系列 3
1.1.3 STM32L1 xx系列 6
1.1.4 STM32F3xx系列 8
1.1.5 STM32F4xx系列 8
1.2 CMSIS软件接口标准 12
1.2.1 CMSIS层与软件架构 13
1.2.2 CMSIS文件结构 14
1.2.3基于CMSIS架构的示例 20
第2章 嵌入式系统μC/OS-Ⅱ 22
2.1嵌入式系统μC/OS-ⅡⅡ概述 22
2.1.1 μC/OS-Ⅱ系统特点 22
2.1.2 μC/OS-Ⅱ系统内核 24
2.1.3任务管理 33
2.1.4时间管理 34
2.1.5任务之间的通信与同步 35
2.1.6内存管理 37
2.2如何在STM32处理器移植μC/OS-Ⅱ系统 38
2.2.1移植μC/ OS-Ⅱ满足的条件 38
2.2.2初识μC/OS- Ⅱ嵌入式系统 38
2.2.3重提μC/OS- Ⅱ嵌入式系统移植要点 55
2.2.4细说μC/OS- Ⅱ系统运行流程 56
2.3设计目标 59
2.4 μC/OS- Ⅱ系统软件设计 59
2.4.1实例1-μC/OS- Ⅱ系统基础应用 59
2.4.2实例2-消息队列 70
2.4.3实例3-信号量 73
2.4.4邮箱通信机制解析 77
2.5实例总结 78
2.6实例操作演示 78
第3章 嵌入式图形系统μC/GUI 80
3.1嵌入式图形系统μC/GUI 80
3.1.1 μC/GUI系统软件结构 80
3.1.2文本显示 81
3.1.3数值显示 83
3.1.4 2D图形库 85
3.1.5字体 89
3.1.6颜色 91
3.1.7存储设备 93
3.1.8视窗管理器 93
3.1.9窗口对象 95
3.1.10对话框 106
3.1.11抗锯齿 107
3.1.12输入设备 108
3.1.13时间函数 110
3.2 μC/GUI系统移植 110
3.2.1初识μC/GUI系统 111
3.2.2细说μC/GUI系统移植 121
3.2.3 μC/GUI系统的触摸屏驱动 130
3.2.4在μC/OS- Ⅱ系统下支持μC/GUI系统 132
3.3设计目标 135
3.4系统软件设计 135
3.5实例总结 144
3.6显示效果 145
第4章 实时时钟系统设计实例 146
4.1 RTC简述 146
4.1.1 RTC复位过程 148
4.1.2 RTC寄存器操作 148
4.1.3 RTC寄存器描述 149
4.1.4备份寄存器描述 154
4.2 RTC及相关外设库函数功能详解 156
4.2.1 RTC外设库函数功能 157
4.2.2备份寄存器库函数功能 162
4.3设计目标 166
4.4 RTC系统硬件构成 167
4.5系统软件设计 168
4.6实例总结 188
4.7显示效果 188
第5章 串行Flash存储器应用实例 189
5.1串行Flash存储器概述 189
5.1.1 SST25VF016B引脚功能描述 190
5.1.2器件操作 191
5.1.3状态寄存器 193
5.1.4 SST25VF016B指令集 194
5.2设计目标 203
5.3硬件电路原理设计 203
5.4 μC/OS-Ⅱ系统软件设计 203
5.4.1系统相关软件设计 205
5.4.2 FATFS文件系统的移植 216
5.5实例总结 222
5.6显示效果 223
第6章GPIO接口应用实例 224
6.1 GPIO接口应用概述 224
6.1.1 GPIO端口功能 225
6.1.2 GPI()端口配置 227
6.1.3 GPI()寄存器描述 229
6.2 GPIO端口相关库函数功能详解 234
6.3设计目标 243
6.4硬件原理 243
6.5系统软件 244
6.6实例总结 255
6.7操作演示 255
第7章ADC转换应用实例 256
7.1 ADC概述 256
7.1.1 ADC模块功能 257
7.1.2 ADC寄存器功能描述 271
7.1.3 ADC误差种类 282
7.2 ADC模块相关库函数功能详解 283
7.3设计目标 299
7.4 A/D转换硬件电路设计 300
7.4.1温湿度变送器简述 300
7.4.2硬件电路原理图 301
7.5 A/D转换实例系统软件设计 302
7.6实例总结 311
7.7显示效果 311
第8章LCD液晶显示屏与触摸屏系统设计实例 312
8.1 LCD液晶显示屏概述 312
8.1.1 LCD液晶显示屏原理 312
8.1.2 LCD液晶显示屏的分类 313
8.2触摸屏驱动原理简述 314
8.2.1电阻触摸屏工作原理 314
8.2.2触摸屏控制实现 315
8.3设计目标 315
8.4硬件电路架构 315
8.4.1 STM32微处理器FSMC接口 316
8.4.2触摸屏控制器 318
8.4.3硬件电路 320
8.5系统软件设计 325
8.5.1 2.4寸液晶显示模块图形演示实例软件 326
8.5.2 3.0寸液晶显示模块图形演示实例软件 335
8.5.3 4.3寸液晶显示模块图形演示实例软件 337
8.6实例总结 341
8.7显示效果 341
第9章SDIO接口应用实例——SD卡与MP3播放器设计 342
9.1 SDIO应用概述 342
9.1.1 SD存储卡 342
9.1.2 SDIO接口概述 346
9.2 SDIO接口相关库函数功能详解 362
9.3设计目标 377
9.4硬件电路设计 377
9.4.1 VS1003芯片概述 378
9.4.2硬件电路原理图 382
9.5 μC/OS-Ⅱ系统软件设计 383
9.6实例总结 401
9.7显示效果 402
第10章I2C接口应用实例——FM收音机设计 403
10.1 I2C总线应用概述 403
10.1.1 I2C总线拓扑 403
10.1.2 I2C总线的数据通信 404
10.2设计目标 407
10.3硬件电路设计 407
10.3.1 TEA5767芯片概述 408
10.3.2硬件电路原理 413
10.4 μC/OS-Ⅱ系统软件设计 414
10.5实例总结 435
10.6显示效果 435
第11章CAN总线应用实例 436
11.1 CAN总线概述 436
11.1.1 CAN总线网络拓扑 437
11.1.2 CAN通信协议 437
11.1.3 CAN总线信号特点 438
11.1.4 CAN的位仲裁技术 438
11.1.5 CAN总线的帧格式 439
11.1.6 CAN报文的帧类型 440
11.2 STM32处理器的CAN模块概述 445
11.2.1 bxCAN模块工作模式 446
11.2.2 bxCAN模块操作描述 448
11.2.3 bxCAN模块的寄存器功能描述 452
11.3 CAN外设相关库函数功能详解 469
11.4设计目标 484
11.5硬件电路设计 484
11.5.1 TJA1050器件概述 485
11.5.2硬件电路原理图 487
11.6 μC/OS-Ⅱ系统软件设计 487
11.7实例总结 499
11.8显示效果 500
第12章 以太网应用实例 501
12.1以太网概述 501
12.1.1以太网的网络传输介质 501
12.1.2以太网数据帧格式 504
12.1.3嵌入式系统中主要处理的以太网协议 506
12.1.4 TCP/IP网络协议栈的引入 508
12.2设计目标 510
12.3硬件电路设计 511
12.3.1以太网控制器ENC28J60概述 512
12.3.2硬件电路原理图 519
12.4系统软件设计 520
12.4.1 μC/OS- Ⅱ系统程序 522
12.4.2 μIP协议栈及应用程序 535
12.5实例总结 558
12.6显示效果 559
第13章nRF24L01无线数据收发实例 560
13.1无线收发器nRF24L01概述 560
13.1.1无线收发器nRF24L01引脚功能定义 561
13.1.2无线收发器nRF24L01工作模式设置 562
13.1.3无线收发器nRF24L01的SPI接口指令设置 564
13.1.4无线收发器nRF24L01寄存器功能描述 564
13.1.5无线收发器nRF24L01读/写操作时序 571
13.1.6无线收发器nRF24L01数据包处理方式 571
13.2 STM32处理器SPI接口概述 572
13.2.1时钟信号的相位和极性 574
13.2.2配置SPI接口为主模式 575
13.2.3 STM32处理器SPI接口寄存器 576
13.3 SPI接口相关库函数功能详解 583
13.4设计目标 596
13.5硬件电路设计 597
13.6无线数据点对点通信软件设计 600
13.6.1主机系统软件设计 601
13.6.2从机软件设计 618
13.7实例总结 624
13.8显示效果 624
第14章ZigBee无线模块应用实例 625
14.1 ZigBee技术概述 625
14.1.1 ZigBee协议的体系结构 626
14.1.2 ZigBee协议设备类型 627
14.1.3 ZigBee网络拓扑结构 628
14.1.4 ZigBee技术应用领域 628
14.2设计目标 629
14.3 ZigBee硬件模块电路设计 630
14.3.1 CC2530芯片简述 630
14.3.2 CC2530芯片引脚功能概述 632
14.3.3 CC2530芯片的USART接口 634
14.3.4 ZigBee模块电路原理图及说明 634
14.4 μC/OS- Ⅱ系统软件设计 635
14.5实例总结 646
14.6显示效果 647
第15章USB Joystick应用实例 648
15.1 USB模块概述 648
15.2 USB寄存器 650
15.2.1通用寄存器 650
15.2.2端点寄存器 654
15.2.3缓冲区描述表 658
15.3设计目标 660
15.4硬件电路设计 660
15.5软件设计 660
15.5.1 USB Joystick设备固件代码设计 661
15.5.2 μC/OS- Ⅱ系统软件设计 664
15.6实例总结 671
15.7显示效果 671
第16章GPS通信系统设计 672
16.1 GPS系统应用概述 672
16.1.1 GPS系统工作原理 672
16.1.2 GPS系统构成 673
16.1.3 GPS模块输出信号分析 673
16.2 STM32处理器USART接口概述 676
16.2.1 STM32处理器USART接口寄存器 679
16.2.2 USART接口相关库函数功能详解 688
16.3设计目标 704
16.4硬件电路 704
16.5系统软件设计 705
16.6实例总结 721
16.7显示效果 721
第17章 智能小车驱动设计 722
17.1智能小车应用系统概述 722
17.2 STM32处理器通用定时器概述 723
17.2.1时基单元 725
17.2.2 PWM模式 725
17.3设计目标 725
17.4硬件电路设计 726
17.5应用实例软件设计 727
17.5.1智能小车驱动实例系统软件设计 728
17.5.2电机驱动实例 750
17.6实例总结 754
17.7显示效果 754
第18章 三轴加速度传感器应用 756
18.1三轴加速度传感器应用概述 756
18.1.1三轴加速度传感器MMA7455L概述 757
18.1.2 MMA7455L的引脚功能描述 758
18.1.3 MMA7455L的工作模式及相关寄存器功能配置 759
18.1.4数字通信接口 767
18.2设计目标 769
18.3硬件电路设计 769
18.4系统软件设计 770
18.5实例总结 779
18.6显示效果 779
第19章CMOS摄像头系统应用实例 780
19.1 CMOS摄像头应用概述 780
19.1.1图像采集传感器组成 781
19.1.2 OV7670引脚功能描述 782
19.1.3 OV7670相关时序概述 783
19.1.4 OV7670寄存器配置概述 786
19.2设计目标 802
19.3硬件电路设计 802
19.4系统软件设计 804
19.5实例总结 815
19.6演示效果 815
第20章STM32处理器实验平台概述 816
20.1 STM32MINI开发平台 816
20.2 STM32-V3开发平台 817
20.3 STM32TINY开发平台 818
20.4液晶显示屏配件 819
20.4.1 2.4寸液晶显示模块 819
20.4.2 3.0寸液晶显示模块 820
20.4.3 4.3寸液晶显示模块 820
20.5电机开发板套件 821
参考文献 823