第1章 ARMRF912-W-Z系统 1
1.1 ARMRF912-W-Z系统概述 1
1.2 硬件开发平台 2
1.2.1 ARM912主板 2
1.2.2 无线射频模块 7
1.2.3 无线网关 8
1.2.4 传感器扩展板 8
1.3 软件开发平台 9
1.3.1 ARM RealView MDK 9
1.3.2 入门ARM RealView软件开发平台 11
1.3.3 IAR平台 21
1.3.4 AT命令集 35
1.3.5 驱动程序 35
1.3.6 μC/OS-II操作系统 38
1.3.7 STR91x编程模板 38
第2章 STR912微控制器 39
2.1 STR912处理器 39
2.1.1 STR912芯片 40
2.1.2 存储结构 43
2.1.3 电源 51
2.1.4 复位 53
2.1.5 低电压模式 54
2.2 STR912的I/0 57
2.2.1 功能描述 57
2.2.2 寄存器描述 59
2.2.3 GPIO库函数 62
2.2.4 键盘实验 63
2.3 时钟 70
2.3.1 系统时钟源 72
2.3.2 实时钟 84
2.3.3 实时钟库函数 93
2.3.4 实时钟实验 93
2.4 中断(VIC和WIU) 99
2.4.1 向量中断控制器(VIC) 100
2.4.2 VIC寄存器描述 103
2.4.3 唤醒/中断单元(WIU) 110
2.4.4 VIC和WIU库函数 114
2.4.5 中断实验 115
2.5 16位定时器 119
2.5.1 主要特性 119
2.5.2 功能描述 120
2.5.3 寄存器描述 130
2.5.4 库函数介绍 136
2.5.5 定时器实验1 138
2.5.6 定时器实验2 140
2.6 DMA控制器(DAMC) 142
2.6.1 主要特点 142
2.6.2 功能描述 144
2.6.3 软件需考虑的事项 145
2.6.4 寄存器描述 153
2.6.5 库函数介绍 167
2.6.6 DMA实验 169
2.7 同步串行外设(SSP) 171
2.7.1 主要特点 172
2.7.2 功能描述 172
2.7.3 SSP操作 174
2.7.4 寄存器描述 181
2.7.5 库函数介绍 188
2.7.6 SSP实验1:LED 189
2.7.7 SSP实验2:温度传感器 195
2.8 STR912的UART 201
2.8.1 主要特征 201
2.8.2 功能描述 201
2.8.3 寄存器说明 208
2.8.4 库函数介绍 224
2.8.5 UART实验 226
2.9 模拟/数字转换器(ADC) 231
2.9.1 介绍 231
2.9.2 功能描述 233
2.9.3 寄存器描述 235
2.9.4 库函数介绍 240
2.9.5 AD及麦克风实验 242
第3章 ARM912主板高级应用3.1 EMI接口实验 247
3.1.1 功能描述 247
3.1.2 寄存器描述 251
3.1.3 库函数介绍 255
3.1.4 EMI控制LCD 256
3.1.5 EMI操作RAM 271
3.2 红外线接口实验 277
3.3 FLASH存储器实验 282
3.3.1 功能描述 283
3.3.2 FMI寄存器描述 283
3.3.3 库函数介绍 289
3.3.4 FLASH存储器读写实验 290
3.4 USB控制器实验 292
3.4.1 主要特性 293
3.4.2 功能描述 293
3.4.3 编程要点 295
3.4.4 寄存器描述 304
3.4.5 USB存储试验 325
3.4.6 USB操纵杆实验 326
3.5 以太网实验 331
3.5.1 功能描述 332
3.5.2 MAC 802.3操作 338
3.5.3 DMA控制器操作 345
3.5.4 寄存器描述 349
3.5.5 ENET库函数介绍 385
3.5.6 EasyWEB实验 386
第4章 移植μC/OS-Ⅱ到STR 912
4.1 μC/OS-Ⅱ介绍 395
4.2 μCOS-Ⅱ的特点 396
4.2.1 μC/OS-Ⅱ提供源代码 396
4.2.2 μC/OS-Ⅱ的可移植性 396
4.2.3 μC/OS-Ⅱ的可固化性 396
4.2.4 μC/OS-Ⅱ的可裁减性 396
4.2.5 μC/OS-Ⅱ的可剥夺性 396
4.2.6 μC/OS-Ⅱ的可多任务性 397
4.2.7 μC/OS-Ⅱ的可确定性 397
4.2.8 μC/OS-Ⅱ的任务栈 397
4.2.9 μC/OS-Ⅱ的系统服务 397
4.2.10 μC/OS-Ⅱ的中断管理 397
4.2.11 μC/OS-Ⅱ的稳定、可靠性 397
4.3 μ/OS-Ⅱ的移植 398
4.3.1 移植的基本概念 398
4.3.2 μC/OS-Ⅱ向ARM9移植 399
4.3.3 os_cpu_a.asm 402
4.3.4 OS_CFG.H 403
4.4 μC/OS-Ⅱ基础GPIO实验 404
4.4.1 实验目的 404
4.4.2 实验原理和步骤 404
4.4.3 程序流程图 404
4.4.4 各个模块的实现 405
4.5 μCGUI应用实例 406
4.5.1 μC/GUI简介 406
4.5.2 μC/GUI配置 406
4.5.3 μC/GUI字体显示 407
4.5.4 μC/GUI 2D图形库 409
4.5.5 μC/GUI颜色管理 413
4.5.6 μC/GUI单、多任务系统 415
4.5.7 μC/GUI视窗管理器 417
4.5.8 μC/GUI窗体控件 421
4.6 μC/OS-Ⅱ、μC/GUI综合实验 428
4.6.1 实验目的 428
4.6.2 实验原理和步骤 428
4.6.3 程序流程图 429
4.6.4 各个功能的实现 430
第5章 ZigBee无线网络基础5.1 ZigBee模块介绍 432
5.2 短距离无线通信基础 434
5.2.1 无线局域网(WLAN) 435
5.2.2 蓝牙(Bluetooth)技术 435
5.2.3 HomeRF 436
5.2.4 ZigBee 436
5.3 ZigBee无线网络 437
5.3.1 ZigBee结构体系 437
5.3.2 PHY(物理)层 438
5.3.3 MAC(介质接入控制子层)层 441
5.3.4 ZigBee网络层 443
5.3.5 ZigBee应用层 459
5.4 ZigBee协议栈实验 465
5.4.1 数据发送 465
5.4.2 数据接收 466
5.4.3 实验硬件 467
5.4.4 实验源代码 468
5.4.5 流程图 469
5.4.6 路由器代码 469
5.4.7 协调器代码 470
第6章 无线传感器网络实验6.1 AT命令开发ZigBee 472
6.1.1 AT命令介绍 472
6.1.2 设置命令:S(et) 475
6.1.3 测试命令:T(est) 478
6.1.4 读命令:R(ead) 481
6.1.5 AT命令演示实验 487
6.2 ARM手持终端实验 493
6.2.1 命令函数 494
6.2.2 基础实验演示 496
6.2.3 ARM无线监视软件 498
6.3 无线传感器网络与以太网 500
6.3.1 基本处理函数 501
6.3.2 以太网处理函数 502
6.3.3 实验结果 503
第7章 ARM嵌入无线蓝牙网络7.1 蓝牙概述 504
7.1.1 蓝牙技术简介 504
7.1.2 建立网络连接 505
7.1.3 保密机制 506
7.1.4 软件结构 507
7.2 蓝牙无线模块简介 507
7.3 蓝牙无线模块常用命令集 508
7.3.1 串口参数 509
7.3.2 主节点设置命令 509
7.3.3 地址修改命令 509
7.3.4 设备连接命令 510
7.3.5 退出数据模式命令 511
7.3.6 地址查询命令 512
7.4 蓝牙扩展板 512
7.5 蓝牙实验 513
7.5.1 实验目的 513
7.5.2 实验原理 514
7.5.3 实验流程图 514
7.5.4 ARM和蓝牙 515
7.5.5 蓝牙扩展板实验 526
7.5.6 实验结果 527
第8章 ARM嵌入式GSM/GPRS8.1 GPRS概述 530
8.1.1 GPRS网络的特点 531
8.1.2 GPRS网络结构 532
8.1.3 GPRS的协议 533
8.1.4 GPRS的路由管理 534
8.1.5 空中接口的信道构成 535
8.1.6 GPRS的应用 535
8.2 MC39i模块介绍 536
8.2.1 MC39i模块特点 536
8.2.2 AT命令介绍 537
8.2.3 模块驱动 541
8.3 GSM/GPRS实验 542
8.3.1 实验1:电话演示 542
8.3.2 实验2:SMS演示 545
参考文献 549