新闻资讯
看你所看,想你所想

物联网技术实践教程——基于蓝牙4

物联网技术实践教程——基于蓝牙4

物联网技术实践教程——基于蓝牙4

《物联网技术实践教程——基于蓝牙4》是2015年9月清华大学出版社出版的图书,作者是毛剑飞、周雪、毛科技、竺超明、陈立建。

基本介绍

  • 书名:物联网技术实践教程——基于蓝牙4
  • 作者:毛剑飞
    周雪
    毛科技
    竺超明
    陈立建
  • 出版社:清华大学出版社
  • 出版时间:2015年9月
  • 定价:49 元
  • ISBN:9787302399773

内容简介

本书全面介绍物联网工程的蓝牙4.0低功耗开发技术。全书分为4篇,共18章。其中,第1篇是实验软、硬体平台的搭建,一步一步地介绍如何构架简单的蓝牙软硬实验平台;第2篇是蓝牙基础实验,讲解最简单的无作业系统的蓝牙晶片实验,让读者充分了解和熟悉蓝牙晶片,为后续的蓝牙通信开发打下基础;第3篇是低功耗蓝牙通信协定栈,主要介绍低功耗蓝牙通信原理以及如何自定义硬体抽象层,本篇内容是后面的蓝牙通信实验的理论和实验基础;第4篇是低功耗蓝牙通信实验,先从学着改造简单的蓝牙协定栈範例项目开始,再定製一个我的蓝牙感知器iSensor,在iSensor中一步步实践蓝牙协定栈的通信原理,然后结合USB模组综合套用蓝牙设备实现蓝牙键鼠、蓝牙CDC串口通信及网路处理机,最后讲述了套用蓝牙无线分析仪测试蓝牙通信。
本书的重点是实验,整个蓝牙实验内容以任务驱动为导向,每个实验都先提出目标并给出实验过程图像,以充分调动读者兴趣和学习热情,鼓励读者参与实验,实现实验目标,在实现过程中可以参考我们对实验原理作出的详细讲解和分析,实验完成后还可以参考本书对每个实验给出的详细注释的源码清单。
本书适合作为高等院校和高职高专的物联网、通信、电气、自动控制以及计算机套用专业的本科生、研究生和专科生教材,同时也可供对物联网、通信技术开发感兴趣的工程师、广大科技工作者和研究人员参考。

图书目录

第1篇概述及实验平台
第1章低功耗蓝牙3
1.1蓝牙与物联网3
1.2低功耗蓝牙与“我的物联网”5
1.3低功耗蓝牙概述8
1.4低功耗蓝牙的特点9
第2章蓝牙4.0 BLE软体开发平台搭建11
2.1选择IAR 8051的理由11
2.2IAR 80518.3的下载、安装和破解12
2.2.1下载IAR 80518.312
2.2.2安装IAR 80518.313
2.2.3破解IAR 80518.317
2.3IAR 8051集成开发环境简介21
2.4IAR 8051 C/C++22
2.5安装相关支持软体22
第3章蓝牙4.0 BLE硬体开发平台搭建24
3.1选择世嵌开发板的理由24
3.2世嵌最简配置开发套件25
3.2.1核心板WB2540MVA26
3.2.2底板WX253028
3.2.3仿真器CCDBG33
3.3搭建实验硬体环境35
3.4创建工程——点亮LED37
第2篇基 础 实 验
第4章GPIO实验534.1LED实验: 打开所有LED53
4.1.1任务要求及效果呈现53
物联网技术实践教程——基于蓝牙4
4.1.2实验原理54
4.1.3实验步骤56
4.1.4源码清单59
4.2LED实验: 让LED一闪一闪59
4.2.1任务要求及效果呈现59
4.2.2实验原理60
4.2.3源码清单60
4.3LED实验: 实现流水灯61
4.3.1任务要求及效果呈现61
4.3.2实验原理61
4.3.3源码清单62
4.4蜂鸣器实验: 驱动蜂鸣器发声63
4.4.1任务要求及效果呈现63
4.4.2实验原理63
4.4.3源码清单65
4.5按键实验: 按键控制LED66
4.5.1任务要求及效果呈现66
4.5.2实验原理66
4.5.3源码清单69
4.6按键实验: 按键控制LED (中断方式)71
4.6.1任务要求及效果呈现71
4.6.2实验原理71
4.6.3源码清单74
第5章定时器实验77
5.1定时器实验: 流水灯(查询方式)77
5.1.1任务要求及效果呈现77
5.1.2实验原理77
5.1.3源码清单81
5.2定时器实验: 流水灯(中断方式)83
5.2.1任务要求及效果呈现83
5.2.2实验原理83
5.2.3源码清单84
5.3定时器实验: PWM控制蜂鸣器86
5.3.1任务要求及效果呈现86
5.3.2实验原理87
5.3.3示波器与开发板连线90
5.3.4源码清单91
第6章串口实验97
6.1串口传送实验: 列印欢迎信息97
6.1.1任务要求及效果呈现97
6.1.2实验原理97
6.1.3硬体连线102
6.1.4源码清单103
6.2串口传送: 用printf列印系统信息104
6.2.1任务要求及效果呈现104
6.2.2实验原理104
6.2.3源码清单106
6.3串口收发: 用C标準库输入/输出函式107
6.3.1任务要求及效果呈现108
6.3.2实验原理108
6.3.3源码清单109
6.4串口收发: 中断方式112
6.4.1任务要求及效果呈现113
6.4.2实验原理113
6.4.3源码清单116
第7章ADC实验119
7.1测量晶片内部温度和供电电压119
7.1.1任务要求及效果呈现119
7.1.2实验原理120
7.1.3源码清单124
7.2测量光照强度126
7.2.1任务要求及效果呈现127
7.2.2实验原理127
7.2.3源码清单128
第8章睡眠与唤醒实验130
8.1外部中断唤醒130
8.1.1任务要求及效果呈现130
8.1.2实验原理131
8.1.3源码清单134
8.2定时器唤醒139
8.2.1任务要求及效果呈现139
8.2.2实验原理140
8.2.3源码清单142
第9章看门狗实验、Flash读写实验144
9.1看门狗实验144
9.1.1任务要求及效果呈现144
9.1.2实验原理145
9.1.3源码清单146
9.2Flash读写实验147
9.2.1任务要求及效果呈现148
9.2.2实验原理148
9.2.3源码清单150
第10章汇流排实验153
10.1单汇流排实验(DS18B20驱动)153
10.1.1任务要求及效果呈现153
10.1.2实验原理154
10.1.3源码清单157
10.2SPI汇流排实验(诺基亚5110液晶屏驱动)161
10.2.1任务要求及效果呈现161
10.2.2实验原理163
10.2.3源码清单171
第3篇BLE协定栈
第11章蓝牙4.0协定栈基础19711.1BLE协定栈整体构架197
11.2物理层198
11.3链路层198
11.3.1链路层状态机198
11.3.2链路层报文200
11.3.3设备发现200
11.3.4关于广播202
11.3.5连线过程202
11.3.6数据传送205
11.3.7管理连线205
11.4主机/控制器接口206
11.4.1物理接口与逻辑接口206
11.4.2控制器的配置206
11.4.3广播与观察207
11.4.4发起连线208
11.4.5连线管理210
11.5逻辑链路控制和适配协定210
11.6属性协定层、通用属性配置档案层210
11.6.1伺服器与客户端模型210
11.6.2属性211
11.6.3属性的访问213
11.6.4服务213
11.6.5特性215
11.6.6属性协定216
11.6.7通用属性规範218
11.7安全管理层220
11.7.1安全概念220
11.7.2配对和绑定221
11.7.3数据签名221
11.8通用访问配置档案层222
11.8.1GAP角色222
11.8.2模式和规程222
11.8.3广播模式和观察规程223
11.8.4可发现性223
11.8.5可连线性224
11.8.6绑定226
第12章TI蓝牙协定栈开发平台227
12.1BLE协定栈开发平台配置227
12.2BLE协定栈软体开发框架228
12.3协定栈应用程式运行机理229
12.3.1开始应用程式: main()230
12.3.2初始化系统: osal_init_system()231
12.3.3启动系统: osal_start_system()233
12.3.4系统运行机理235
12.4OSAL作业系统抽象层236
12.4.1任务事件和事件处理236
12.4.2记忆体堆管理237
12.4.3OSAL讯息237
12.5HAL硬体抽象层238
12.6BLE协定栈238
12.6.1通用访问配置档案239
12.6.2通用属性配置档案240
12.6.3GATT伺服器应用程式241
12.7配置档案242
12.7.1GAP外围角色配置242
12.7.2GAP外围/广播多重角色配置243
12.7.3GAP Central Role Profile243
12.7.4GAP绑定管理器244
12.7.5简单属性配置档案245
12.7.6简单按键属性配置档案252
12.7.7设备信息服务253
12.7.8其他属性配置档案253
第13章蓝牙协定栈项目开发入门254
13.1简单BLE外围设备254
13.1.1项目配置254
13.1.2Linker Map档案257
13.1.3simpleBLEPeripheral.c源码分析258
13.2简单BLE中央设备273
13.2.1项目配置273
13.2.2Linker Map档案273
13.2.3simpleBLECentral.c源码分析274
第14章定製硬体抽象层281
14.1增加外设驱动281
14.2修改hal_board_cfg282
14.3修改hal_led284
14.4修改hal_key284
14.5增强UART功能286
14.6增加Nokia 5110液晶屏驱动294
第4篇BLE通信实验
第15章简单的蓝牙通信29715.1引言297
15.2搭建蓝牙通信实验平台298
15.3源码相关配置修改299
15.3.1修改Simple BLE Peripherial项目299
15.3.2修改Simple BLE Central项目301
15.4实验过程演示302
15.5实验: 实现自动连线和LED连线状态指示305
15.5.1任务要求及效果呈现305
15.5.2实验原理307
15.5.3源码修改308
第16章我的蓝牙感知器312
16.1控制LED312
16.1.1任务要求及效果呈现313
16.1.2实现外围设备315
16.1.3实现中央设备319
16.2感知外设CPU温度328
16.2.1任务要求及效果呈现329
16.2.2实现外围设备330
16.2.3实现中央设备333
16.3感知外设环境温度336
16.3.1任务要求及效果呈现337
16.3.2实现外围设备338
16.3.3实现中央设备342
16.4感知外设光照强度344
16.4.1任务要求及效果呈现344
16.4.2实现外围设备346
16.4.3实现中央设备350
16.5定时获取外设光照强度352
16.5.1任务要求及效果呈现352
16.5.2实现外围设备355
16.5.3实现中央设备362
16.6无线串口透传364
16.6.1任务要求及效果呈现364
16.6.2NPI模组原理与串口透传366
16.6.3实现外围设备368
16.6.4实现中央设备371
第17章蓝牙USB376
17.1iSensorHid(蓝牙键鼠)377
17.1.1任务要求及效果呈现377
17.1.2实现外围设备385
17.1.3实现中央设备390
17.2 iSensorCDC(蓝牙USB串口)395
17.2.1任务要求及效果呈现396
17.2.2实现外围设备398
17.2.3实现中央设备398
17.3iHostTest(网路处理机)400
17.3.1实现iHostTest400
17.3.2系统初始化402
17.3.3建立连线403
17.3.4测试GATT属性服务405
第18章蓝牙通信测试与支持414
18.1蓝牙协定分析仪414
18.2蓝牙支持417
参考文献420
图11物联网——感知世界3
图12蓝牙在医疗设备上的套用7
图13蓝牙防丢产品7
图14SENSORY的前端语音识别技术通过蓝牙耳机实现安全行驶8
图21IAR官方主页12
图22IAR产品下载13
图23IAR 80518.3评估版下载页面13
图24“IAR 80518.3下载任务”对话框13
图25EW80518303Autorun.exe自解压13
图26程式安装界面13
图27準备安装15
图28安装精灵15
图29是否接受许可协定对话框15
图210自定义安装还是完全安装17
图211安装路径选择17
图212程式图示选择17
图213準备安装程式17
图214安装程式过程17
图215是否安装USB dongles驱动19
图216安装结束19
图217退出19
图218破解IAR 80518.319
图219License Manager界面19
图220编译错误20
图221增加一行“Z(DATA)VREG=087F”20
图222现在编译正确了20
图223IAR 8051集成开发环境22
图31世嵌科技官网24
图32CC2540蓝牙4.0低功耗最简配置开发板套件(2模组+2底板+1仿真器)25
图33WB2540MVA核心板26
图34WB2540MVA核心板机械尺寸和元件布局27
图35WX2530底板(绿色)+CC2540核心板(蓝色)28
图36开发板整体架构30
图37WX2530底板输入接口30
图38跳线使能USB接口31
图39仿真器接口封装32
物联网技术实践教程——基于蓝牙4
图 图310仿真器灰排母座应朝板子外侧插入仿真接口32
图311CCDBG仿真器(上面虽未标明支持CC2540,但实际完全支持)34
图312某淘宝店推出的PL2303HX模组36
图313开发板与外配的硬体连线37
图314複製安装下的蓝牙协定栈到你的工作37
图315协定栈的项目範例37
图316複製得一个副本37
图317将项目改名37
图318项目档案39
图319项目档案41
图320修改mTest.eww档案41
图321新工程诞生41
图322移除原工程档案41
图323选择Options命令41
图324将常量和字元串置于RAM memory41
图325将输出的hex档案改为你喜欢的名字42
图326将Driver设定为Texas Instruments43
图327选择Add→AddFiles命令43
图328选中3个档案43
图329档案改名43
图330档案已经添加44
图331清空编辑区46
图332编写代码46
图333编译代码46
图334下载调试46
图335调试开始46
图336点亮绿灯46
图337设定断点47
图338启动不下载的调试48
图339调试开始48
图340调试运行到断点处48
图341单击step over图示49
图342调试游标进入下一行语句49
图41基础实验一效果54
图42LED原理54
图43打开项目并另外储存源档案57
图44将源档案改名并另外储存57
图45将另外储存的档案添加57
图46将mTest.c档案从项目编译连结中排除57
图47为mTestLedAllOpen.c编写代码58
图48让LED一闪一闪59
图49流水灯效果61
图410流水灯程式设计和调试界面62
图411驱动蜂鸣器发声63
图412蜂鸣器原理64
图413按键控制LED亮灭66
图414按键电路原理图67
图415按键按下和鬆开的电信号变化68
图416按键控制LED(中断方式)71
图51中断查询方式的定时流水灯77
图52中断方式的定时流水灯83
图53实验过程演示: 按下键2,黄灯亮(左图),释放,黄灯熄灭(右图)87
图54200Hz声音时的通道2和通道3的波形87
图552000Hz声音时的通道2和通道3的波形87
图56本人自购的示波器90
图57开发板与示波器连线90
图61列印欢迎信息97
图62CC2540串口与PC机串口的硬体连线103
图63串口输出系统硬体信息104
图64使用C标準库输入输出函式进行串口收发实验108
图65中断方式下的串口数据收发实验113
图71手指压在CC2540上以测量晶片内部温度的变化119
图72晶片内部电压和温度(当手指按在CC2540晶片上时温度立即上升)120
图73测量光敏电阻分压127
图74手指按住光敏电阻(分压为1.805V)127
图75手指离开光敏电阻(分压为0.400V)127
图76LED强光直射光敏电阻(分压为0.071V)128
图77相机袋压在光敏电阻上(2.900V)128
图78光敏电阻原理128
图81按键控制休眠实验130
图82串口列印的信息(按键催眠、唤醒CPU实验)130
图83进入反彙编代码查看PCON.IDLE=1指令地址134
图84开发板的演示效果(睡眠定时器唤醒实验)140
图85串口控制台列印的实验过程信息(睡眠定时器唤醒实验)140
图91正常的流水灯演示实验144
图92没有及时餵狗而导致反覆重启145
图93控制台显示的反覆重启效果145
图94Flash读写实验148
图101手指按在DS18B20上面温度一直在上升154
图102DS18B20实验——手指按在DS18B20上面使得温度上升154
图103DS18B20温度测量模组154
图104DS18B20的Reset时序154
图105初始欢迎页162
图106键2按下背光打开162
图107键1按下开始测量气温162
图108键2按下背光关掉162
图109实验过程在串口控制台的演示162
图1010Nokia 5110显示屏正反面(带PCB小板)163
图1011CC2540与Nokia 5110的电路连线原理164
图1012PCD8544写指令时序165
图1013PCD8544初始化时序165
图1014显存结构167
图1015用水平定址方式(V=0)往RAM写入数据的次序167
图1016汉字液晶点阵及对应编码171
图111BLE协定栈构架197
图112链路层状态机199
图113两个设备建立连线以实现可靠数据传输202
图114连线事件204
图115属性结构211
图116服务声明样例214
图117特性声明215
图118特性数值215
图121单一设备的配置227
图122网路处理器的配置228
图123SimpleBLEPeripheral项目界面229
图124系统运行机理235
图125属性结构240
图131SimpleBLEPeripheral项目界面254
图132设定预处理宏255
图133配置档案中定义预处理宏255
图134Linker Map档案257
图135SimpleBLECentral项目界面273
图136Linker Map档案273
图141添加外设驱动源档案282
图151我的蓝牙通信简易实验平台298
图152CCDBG端子扩展原理298
图153CCDBG端子扩展板与CCDBG连线298
图154增加和修改预定义宏299
图155增加预定义宏301
图156实验过程控制台显示304
图157实验初始液晶显示304
图158实验过程液晶显示304
图159实验过程控制台显示306
图1510实验过程液晶显示307
图161串口控制台列印实验过程313
图162连线建立并参数更新后的LCD显示及外围设备LED显示314
图163单击按键后的LCD显示及外围设备LED显示314
图164LCD显示MCU温度信息329
图165串口控制台列印实验过程329
图166LCD显示环境温度信息337
图167串口控制台列印实验过程337
图168LCD显示光照强度344
图169串口控制台列印实验过程344
图1610中央设备串口控制台列印实验过程353
图1611外围设备串口控制台353
图1612LCD显示即时光照强度355
图1613串口控制台列印实验过程365
图1614LCD显示当前串口传送和接收信息366
图171中央设备启动过程1(在扫描期间USB开始初始化)377
图172中央设备启动过程2(框中部分是显示的重合部分)377
图173系统初始在完成的初始LCD界面(PC自动传送键盘灯状体的USB报告)377
图174蓝牙滑鼠串口控制台显示379
图175蓝牙滑鼠PC桌面测试379
图176蓝牙键盘功能1串口控制台显示382
图177蓝牙键盘功能1 PC桌面测试382
图178蓝牙键盘功能2串口控制台显示384
图179蓝牙键盘功能2 播放器测试——快进384
图1710蓝牙键盘功能2 播放器测试——快退384
图1711蓝牙键盘功能2 播放器测试——暂停384
图1712蓝牙键盘灯控制实验: 串口信息输出384
图1713蓝牙键盘灯控制实验: LED显示(共3幅图,每幅图的左上: 中央设备;右下: 外围设备)384
图1714蓝牙键盘灯控制实验: LCD显示(共两幅图,每幅图的左边: 中央设备;右边: 外围设备)384
图1715插入USB口之后出现第3个串口(COM5: USB CDC虚拟串口)396
图1716系统启动界面中自动配置串口透传396
图1717串口透传通信过程396
图1718启动BTool402
图1719BTool初始化界面403
图1720开始扫描404
图1721发现广播设备404
图1722建立连线406
图1723读写属性操作界面406
图1724利用特性UUID发现特性起始句柄407
图1725利用特性句柄读特性值408
图1726利用特性UUID读特性值408
图1727解决二进制向浮点型转换409
图1728利用多个特性句柄读多个特性值410
图1729根据特性句柄写LED特性值411
图1730写入之前(仅绿灯亮)411
图1731写入之后(LED全亮)411
图1732利用特性句柄写环境温度通知配置411
图1733利用特性句柄写光照强度通知配置412
图181选择晶片对话框415
图182SmartRF Packet Sniffer界面415
图183Sniffer抓包结果416
图184TI低功耗蓝牙技术主页417
图185CC254X PC端开发範例418
图186CC254X移动智慧型设备开发範例418
图187CC254X嵌入式设备开发範例419
表11始终增长的传输速率8
表31核心板J3直插引脚定义27
表32核心板J4直插引脚定义27
表33核心板J5直插引脚定义28
表34LED接口30
表35按键接口30
表36感测器接口31
表37UART接口(J13)31
表38电源接口(J11)31
表39底板J4直插引脚定义31
表310底板J5直插引脚定义32
表311底板仿真接口定义33
表41P1 (0x90)连线埠154
表42P2(0xA0)连线埠255
表43P1SEL (0xF4)连线埠1功能选择55
表44P2SEL(0xF5)连线埠2功能选择和连线埠1外设优先权控制55
表45P1DIR(0xFE)连线埠1方向56
表46P2DIR(0xFF)连线埠2方向和连线埠0 外设优先权控制56
表47P0(0x80)连线埠064
表48P0SEL(0xF3)连线埠0功能选择64
表49P0DIR(0xFD)端口0功能选择65
表410P0(0x80)连线埠067
表411P0SEL(0xF3)连线埠0功能选择67
表412P0DIR(0xFD)连线埠0方向67
表413P0INP(0x8F)连线埠0输入模式67
表414P2INP(0xF7)连线埠2输入模式68
表415P0IFG(0x89)连线埠P0.7~P0.0中断状态标誌72
表416PICTL(0x8C)位0连线埠0中断模式配置72
表417P0IEN(0xAB)连线埠P0.7~P0.0中断使能73
表418IEN0(0xA8)位7使能所有中断源73
表419IEN1(0xB8)位5连线埠0中断源使能73
表420 IRCON(0xC0)位5连线埠0中断标誌73
表51T1CNTH(0xE3)定时器1计数器高位78
表52T1CNTL(0xE2)定时器1计数器低位78
表53T1CTL(0xE4)定时器1的控制和状态78
表54T1STAT(0xAF)定时器1状态78
表55T1CC0H(0xDD)定时器1通道1捕获/比较值高位79
表56T1CC0L(0xDA)定时器1通道0捕获/比较值低位79
表57CLKCONCMD(0xC6)与定时器相关的位时钟控制命令79
物联网技术实践教程——基于蓝牙4
表 表58CLKCONSTA(0x9E)时钟控制状态80
表59IEN0(0xA8)位7中断源使能总开关83
表510IEN1(0xB8)位1定时器1中断使能84
表511T1STAT(0xAF)位5定时器1状态84
表512IRCON(0xC0)位1定时器1中断标誌84
表513PERCFG(0xF1)外设控制87
表514P2DIR(0xFF)连线埠2方向和连线埠0外设优先权控制87
表515P0SEL(0xF3)连线埠0功能选择88
表516P0DIR(0xFD)连线埠0功能选择88
表517T1CCTL3(0x62A3)定时器1通道3捕获/比较控制88
表518T1CC0H(0xDD)定时器1通道1捕获/比较值高位89
表519T1CC0L(0xDA)定时器1通道0捕获/比较值低位89
表61U0CSR(0x86)USART0控制和状态99
表62U0UCR(0xC4)USART0的UART控制99
表63U0GCR(0xC5)USART0通用控制100
表64U0BUF又名U0DBUF(0xC1)USART0接收/传送数据快取100
表65U0BAUD(0xC2)USART0波特率控制101
表66P2DIR(0xFF)连线埠2方向和连线埠0外设优先权控制101
表6732MHz系统时钟的常用波特率设定101
表68CHVER(0x6249)晶片版本105
表69CHIPID (0x624A)晶片ID105
表610CHIPINFO0(0x6276)晶片信息位元组0105
表611CHIPINFO1(0x6277)晶片信息位元组1106
表612TCON(0x88)中断标誌114
表613IRCON2(0xE8)中断标誌5114
表614串口收发中断向量描述114
表615IEN0(0xA8)中断使能0114
表616IEN2 (0x9A)中断使能2115
表71APCFG(0xF2)模拟外设I/O 配置120
表72ADCL(0xBA)ADC数据低位120
表73ADCH(0xBB)ADC数据高位121
表74ADCCON1 (0xB4)ADC 控制1121
表75ADCCON2(0xB5)ADC控制2121
表76ADCCON3(0xB6)ADC控制3122
表77TR0(0x624B)测试暂存器0123
表78ATEST(0x61BD)模拟测试控制123
表81PCON(0x87)供电模式控制132
表82SLEEPCMD(0xBE)睡眠模式控制132
表83SLEEPSTA(0x9D)睡眠模式控制状态132
表84ST2(0x97)休眠定时器2141
表85ST1(0x96)休眠定时器1141
表86ST0(0x95)休眠定时器0141
表87STLOAD(0xAD)睡眠定时器载入状态141
表91看门狗暂存器145
表101传送ROM指令155
表102传送存储器指令156
表103Nokia 5110液晶屏接口(带PCB小板)163
表104USART功能配置164
表105PCD8544指令集165
表106表105中有关字元的解释166
表107PCD8544 SPI时钟频率167
表108PERCFG(0xF1)外设控制168
表109U1CSR(0xF8)USART 1控制和状态168
表1010U1UCR(0xFB)USART 1控制168
表1011U1GCR(0xFC)USART 1通用控制169
表1012U1BUF(0xF9)USART 1接收/传送数据快取170
表111首要服务与次要服务的属性资料库样例214
表122SimpleKeys GATT Profile属性表253
1.1移动通信发展简史1
1.2中国移动通信发展现状6
1.3各类移动通信系统概述7
1.3.1无绳电话系统7
1.3.2无线寻呼系统8
1.3.3集群移动通信系统9
1.3.4无线区域网路10
1.3.5卫星移动通信系统12
1.3.6蜂窝移动通信系统14
1.4移动通信系统的工作频段16
习题18
第2章第二代移动通信系统19
2.1GSM移动通信系统19
2.1.1GSM系统的网路结构19
2.1.2GSM服务区域的划分21
2.1.3GSM的编号计画22
2.1.4GSM系统的接口24
2.1.5GSM的语音编码26
2.1.6GSM系统的业务27
2.1.7GSM的无线接口28
2.1.8GSM系统的移动性管理34
2.2IS—95CDMA系统39
2.2.1扩频通信技术39
2.2.2IS—95CDMA的关键技术41
2.2.3IS—95 CDMA系统的无线接口46
习题49
第3章2.5G移动通信系统51
3.1GPRS系统51
3.1.1概述51
3.1.2GPRS基本原理53
移动通信技术及套用
3.1.3GPRS基本功能和业务58
3.1.4GPRS的基本概念64
3.1.5GPRS业务流程69
3.2CDMA 2000—1X系统81
3.2.1CDMA技术的演进与标準81
3.2.2CDMA 2000—1X系统结构 81
3.2.3CDMA 2000—1X关键技术82
3.2.4CDMA 2000—1X工程组网简介85
3.2.5CDMA 2000—1X的语音和数据信道88
习题89
第4章第三代移动通信系统90
4.1CDMA 2000 1x EVDO系统90
4.1.1概述90
4.1.21x EVDO的网路结构94
4.1.3EVDO Rev A信道95
4.1.4EVDO Rev A关键技术97
4.2WCDMA系统104
4.2.1概述104
4.2.2WCDMA标準的演进106
4.2.3WCDMA的空中接口113
4.3TDSCDMA系统135
4.3.1概述135
4.3.2TDSCDMA的网路结构135
4.3.3TDSCDMA系统的关键技术143
习题155
第5章第四代移动通信系统157
5.1概述157
5.1.1第四代移动通信系统的关键特性要求157
5.1.2第四代移动通信系统标準的确定159
5.1.3準4G网路在全球的套用情况160
5.2第四代移动通信系统的关键技术161
5.2.1OFDM技术161
5.2.2MIMO技术163
5.3LTE系统165
5.3.1LTE的技术特点165
5.3.2LTE的网路结构166
5.3.3EUTRAN接口的通用协定模型168
5.3.4LTE的无线信道171
5.3.5无线资源管理173
5.3.6移动性管理176
5.3.7LTEA的性能增强181
5.3.8TDLTE与LTE FDD的对比183
5.4WiMAX系统185
5.4.1WiMAX的产生和发展185
5.4.2移动WiMAX——IEEE 802.16e 186
5.4.34G技术——IEEE 802.16m188
习题189
第6章移动通信业务190
6.12G移动通信业务190
6.1.1基本业务190
6.1.2补充业务191
6.23G移动通信业务196
6.2.13G业务的特点及发展趋势196
6.2.23G业务的分类197
6.2.3典型的3G业务199
6.3移动智慧型网业务203
6.3.1智慧型网基础203
6.3.2移动智慧型网203
6.3.3移动智慧型网业务205
习题208
第7章移动网际网路——移动通信网与网际网路的融合209
7.1网际网路简介209
7.1.1网际网路的产生和发展209
7.1.2网际网路在中国的发展210
7.1.3OSI参考模型211
7.1.4TCP/IP协定模型214
7.2移动网际网路的产生及发展217
7.2.1移动网际网路简介217
7.2.2移动网际网路的特点218
7.2.3移动网际网路的发展现状220
7.3移动网际网路的体系结构及关键技术223
7.3.1终端技术223
7.3.2网路平台技术223
7.3.3套用平台技术224
7.4典型的移动网际网路业务套用225
7.4.1移动电子商务225
7.4.2移动定位业务228
7.4.3移动搜寻业务233
7.4.4移动浏览业务239
7.4.5移动支付业务242
7.4.6移动广告业务245
7.4.7移动音乐业务249
习题251
参考文献252
第一篇 概述及实验平台 1
第1章 低功耗蓝牙(BLE)概述 3
1.1 蓝牙与物联网 3
1.2 低功耗蓝牙与我的物联网 5
1.3 什幺是低功耗蓝牙 8
1.4 BLE如何实现低功耗 9
第2章 蓝牙4.0BLE软体开发平台搭建 11
2.1 为什幺是IAR 8051 11
2.2 安装IAR8051-8.3 12
2.2.1 下载IAR8051-8.3 12
2.2.2 安装IAR8051-8.3 13
2.2.3 破解IAR8051-8.3 19
2.3 IAR8051集成开发环境简介 22
2.4 IAR 8051 C/C++ 23
2.5 安装相关支持软体 23
第3章 蓝牙4.0BLE硬体开发平台搭建 25
3.1 为什幺是世嵌开发板 25
3.2 世嵌最简配置开发套件 27
3.2.1 核心板:WB2540MVA 27
3.2.2 底板:WX2530 29
3.2.3 仿真器:CCDBG 35
3.3 搭建实验硬体环境 36
3.4 创建工程-点亮LED 38
第二篇 基础实验 49
第4章 GPIO实验 51
4.1 LED实验:打开所有LED 51
4.1.1 任务要求及效果呈现 51
4.1.2 实验原理 52
4.1.3 实验步骤 55
4.1.4 程式清单(含详细注释) 57
4.2 LED实验:让LED一闪一闪 57
4.2.1 任务要求及效果呈现 57
4.2.2 实验原理 58
4.2.3 程式清单(含详细注释) 58
4.3 LED实验:实现流水灯 59
4.3.1 任务要求及效果呈现 59
4.3.2 实验原理 60
4.3.3 程式清单(含详细注释) 61
4.4 蜂鸣器实验:驱动蜂鸣器发声 62
4.4.1 任务要求及效果呈现 62
4.4.2 实验原理 62
4.4.3 程式清单(含详细注释) 64
4.5 按键实验:按键控制LED 65
4.5.1 任务要求及效果呈现 65
4.5.2 实验原理 65
4.5.3 程式清单(含详细注释) 68
4.6 按键实验:按键控制LED (中断方式) 70
4.6.1 任务要求及效果呈现 70
4.6.2 实验原理 71
4.6.3 程式清单(含详细注释) 74
第5章 定时器实验 77
5.1 定时器实验:流水灯(查询方式) 77
5.1.1 任务要求及效果呈现 77
5.1.2 实验原理 77
5.1.3 程式清单(含详细注释) 81
5.2 定时器实验:流水灯(中断方式) 83
5.2.1 任务要求及效果呈现 83
5.2.2 实验原理 84
5.2.3 程式清单(含详细注释) 85
5.3 定时器实验:PWM控制蜂鸣器 86
5.3.1 任务要求及效果呈现 87
5.3.2 实验原理 88
5.3.3 示波器与开发板连线 91
5.3.4 源码清单 92
第6章 串口实验 99
6.1 串口传送实验:列印欢迎信息 99
6.1.1 任务要求及效果呈现 99
6.1.2 实验原理 100
6.1.3 硬体连线 104
6.1.4 源码清单 105
6.2 串口传送:用printf列印系统信息 106
6.2.1 任务要求及效果呈现 106
6.2.2 实验原理 107
6.2.3 源码清单 108
6.3 串口收发:用C标準库输入输出函式 110
6.3.1 任务要求及效果呈现 110
6.3.2 实验原理 110
6.3.3 源码清单 112
6.4 串口收发:中断方式 115
6.4.1 任务要求及效果呈现 115
6.4.2 实验原理 116
6.4.3 源码清单 119
第7章 ADC实验 122
7.1 测量晶片内部温度和供电电压 122
7.1.1 任务要求及效果呈现 122
7.1.2 实验原理 123
7.1.3 源码清单 127
7.2 测量光照强度 130
7.2.1 任务要求及效果呈现 130
7.2.2 实验原理 131
7.2.3 源码清单 132
第8章 睡眠与唤醒实验 134
8.1 外部中断唤醒 134
8.1.1 任务要求和效果呈现 134
8.1.2 实验原理 135
8.1.3 源码清单 138
8.2 定时器唤醒 144
8.2.1 任务要求和效果呈现 144
8.2.2 实验原理 145
8.2.3 源码清单 147
第9章 看门狗实验、FLASH读写实验 149
9.1 看门狗实验 149
9.1.1 任务要求和效果呈现 149
9.1.2 实验原理 150
9.1.3 源码清单 151
9.2 FLASH读写实验 152
9.2.1 任务要求和效果呈现 153
9.2.2 实验原理 154
9.2.3 源码清单 155
第10章 汇流排实验 159
10.1 单汇流排实验(DS18B20驱动) 159
10.1.1 任务要求和效果呈现 159
10.1.2 实验原理 160
10.1.3 源码清单 163
10.2 SPI汇流排实验(诺基亚5110液晶屏驱动) 167
10.2.1 任务要求和效果呈现 167
10.2.2 实验原理 169
10.2.3 源码清单 177
第三篇 BLE协定栈 201
第11章 蓝牙4.0协定栈基础 202
11.1 BLE协定栈整体构架 202
11.2 物理层(PHY) 202
11.3 链路层(LL) 203
11.3.1 链路层状态机 203
11.3.2 链路层报文 205
11.3.3 设备发现 205
11.3.4 关于广播 206
11.3.5 连线过程 206
11.3.6 数据传送 209
11.3.7 管理连线 209
11.4 主机/控制器接口(HCI) 210
11.4.1 物理接口与逻辑接口 210
11.4.2 控制器的配置 210
11.4.3 广播与观察 211
11.4.4 发起连线 212
11.4.5 连线管理 213
11.5 逻辑链路控制和适配协定(L2CAP) 213
11.6 属性协定层(ATT)、通用属性配置档案层(GATT) 214
11.6.1 伺服器与客户端模型 214
11.6.2 属性 214
11.6.3 属性的访问 216
11.6.4 服务 216
11.6.5 特性 217
11.6.6 属性协定 218
11.6.7 通用属性规範 220
11.7 安全管理层(SM) 223
11.7.1 安全概念 223
11.7.2 配对和绑定 223
11.7.3 数据签名 224
11.8 通用访问配置档案层(GAP) 224
11.8.1 GAP角色 224
11.8.2 模式和规程 224
11.8.3 广播模式和观察规程 225
11.8.4 可发现性 225
11.8.5 可连线性 226
11.8.6 绑定 227
第12章 TI蓝牙协定栈开发平台 228
12.1 BLE协定栈开发平台配置 228
12.2 BLE协定栈软体开发框架 229
12.3 协定栈应用程式运行机理 230
12.3.1 开始应用程式:main() 230
12.3.2 初始化系统:osal_init_system() 232
12.3.3 启动系统:osal_start_system() 234
12.3.4 系统运行机理 235
12.4 OSAL作业系统抽象层 236
12.4.1 任务事件和事件处理 237
12.4.2 记忆体堆管理 237
12.4.3 OSAL讯息 238
12.5 HAL硬体抽象层 238
12.6 BLE协定栈 239
12.6.1 通用访问配置档案(GAP) 239
12.6.2 通用属性配置档案(GATT) 240
12.6.3 GATT伺服器应用程式 241
12.7 配置档案 241
12.7.1 GAP外围角色配置 242
12.7.2 GAP外围/广播多重角色配置 243
12.7.3 GAP Central Role Profile 243
12.7.4 GAP绑定管理器 244
12.7.5 简单属性配置档案(Simple GATT Profile) 244
12.7.6 简单按键属性配置档案(SimpleKeys GATT Profile) 250
12.7.7 设备信息服务 251
12.7.8 其他属性配置档案 251
第13章 蓝牙协定栈项目开发入门 252
13.1.1 项目配置 252
13.1.2 Linker Map档案 255
13.1.3 simpleBLEPeripheral.c源码分析 255
13.2 简单BLE中央设备(SimpleBLECentral) 270
13.2.1 项目配置 270
13.2.2 Linker Map档案 271
13.2.3 simpleBLECentral.c源码分析 271
第14章 定製硬体抽象层 293
14.1 增加外设驱动 293
14.2 修改hal_board_cfg 294
14.3 修改hal_led 295
14.4 修改hal_key 296
14.5 增强UART功能 298
14.6 增加Nokia5110液晶屏驱动 305
第四篇 BLE通信实验 293
第15章 简单的蓝牙通信 295
15.1 引言 295
15.2 搭建蓝牙通信实验平台 295
15.3 源码相关配置修改 297
15.3.1 修改 Simple BLE Peripherial 项目 297
15.3.2 修改 Simple BLE Central 项目 298
15.4 实验过程演示 300
15.5 实验:实现自动连线和LED连线状态指示 303
15.5.1 任务要求与效果呈现 303
15.5.2 实验原理 305
15.5.3 源码修改 305
第16章 我的蓝牙感知器(iSensor) 309
16.1 控制LED 309
16.1.1 任务要求与效果呈现 310
16.1.2 实现外围设备 311
16.1.3 实现中央设备 315
16.2 感知外设CPU温度 323
16.2.1 任务要求与效果呈现 323
16.2.2 实现外围设备 325
16.2.3 实现中央设备 327
16.3 感知外设环境温度 329
16.3.1 任务要求与效果呈现 330
16.3.2 实现外围设备 331
16.3.3 实现中央设备 335
16.4 感知外设光照强度 336
16.4.1 任务要求与效果呈现 336
16.4.2 实现外围设备 338
16.4.3 实现中央设备 342
16.5 定时获取外设光照强度 343
16.5.1 任务要求与效果呈现 344
16.5.2 实现外围设备 347
16.5.3 实现中央设备 353
16.6 无线串口透传 355
16.6.1 任务要求与效果呈现 355
16.6.2 NPI模组原理与串口透传 357
16.6.3 实现外围设备 358
16.6.4 实现中央设备 362
第17章 蓝牙USB 366
17.1 iSensorHid(蓝牙键鼠) 366
17.1.1 任务要求与效果呈现 367
17.1.2 实现外围设备 375
17.1.3 实现中央设备 379
17.2 iSensorCDC(蓝牙USB串口) 384
17.2.1 任务要求与效果呈现 384
17.2.2 实现外围设备 386
17.2.3 实现中央设备 387
17.3 iHostTest(网路处理机) 388
17.3.1 实现iHostTest 388
17.3.2 系统初始化 389
17.3.3 建立连线 390
17.3.4 测试GATT属性服务 393
第18章 蓝牙通信测试与支持 402
18.1 蓝牙协定分析仪(Sniffer) 402
18.2 蓝牙支持 405
参考文献 408
图 1-1 物联网—感知世界 3
图 1-2 蓝牙在医疗设备上的套用 7
图 1-3 蓝牙防丢产品 7
图 1-4 SENSORY的前端语音识别技术通过蓝牙耳机实现安全行驶 8
图 2-1 IAR官方主页 12
图 2-2 IAR产品下载 12
图 2-3 IAR8051-8.3评估版下载页面 13
图 2-4 IAR8051-8.3下载任务对话框 13
图 2-5 EW8051-8303-Autorun.exe自解压 14
图 2-6 程式安装界面 14
图 2-7 準备安装 14
图 2-8 安装精灵 15
图 2-9 是否接受许可协定 15
图 2-10 自定义安装还是完全安装 16
图 2-11 安装路径选择 16
图 2-12 程式图示选择 17
图 2-13 準备安装程式 17
图 2-14 安装程式过程 18
图 2-15 是否安装USB dongles 驱动 18
图 2-16 安装结束 18
图 2-17 退出 19
图 2-18 破解IAR8051-8.3 19
图 2-19 License manager界面 20
图 2-20 编译错误 21
图 2-21 增加一行“-Z(DATA)VREG=08-7F"" 21
图 2-22 现在编译正确了 22
图 2-23 IAR8051集成开发环境 22
图 3-1 世嵌科技官网 26
图 3-2 CC2540蓝牙4.0低功耗最简配置开发板套件(2模组+2底板+1仿真器) 26
图 3-3 WB2540MVA核心板 27
图 3-4 WB2540MVA核心板机械尺寸和元件布局 28
图 3-5 WX2530底板(绿色)+CC2540核心板(蓝色) 30
图 3-6 开发板整体架构 31
图 3-7 WX2530底板输入接口 31
图 3-8 跳线使能USB接口 32
图 3-9 仿真器接口封装图 34
图 3-10 仿真器灰排母座应朝板子外侧插入仿真接口 34
图 3-11 CCDBG仿真器(上面虽未标明支持CC2540,但实际完全支持) 35
图 3-12 某淘宝店推出的PL2303HX模组 37
图 3-13 开发板与外配的硬体连线 38
图 3-14 複製安装下的蓝牙协定栈到你的工作 39
图 3-15 协定栈的项目範例 39
图 3-16 複製一个副本 40
图 3-17 项目改名 40
图 3-18 项目档案 40
图 3-19 项目档案 41
图 3-20 修改eww档案 41
图 3-22 新工程诞生 42
图 3-21 移除原工程档案 1
图 3-23 选中“Options...”选项 1
图 3-24 将常量和字元串置于RAM memory 1
图 3-25 将输出的hex档案改为你喜欢的名字 43
图 3-26 将Driver设定为“Texas Instruments"" 43
图 3-28 点击“Add Files..."" 43
图 3-27 选中三个档案 1
图 3-29 档案改名 44
图 3-31 档案已经添加 44
图 3-30 清空编辑区 1
图 3-32 编写代码 45
图 3-33 编译代码 45
图 3-34 下载调试 46
图 3-35 调试开始 46
图 3-36 点亮绿灯 1
图 3-38 设定断点 47
图 3-37 启动不下载的调试 1
图 3-39 调试开始 1
图 3-40 调试运行到断点处 1
图 3-42 按下""step over""图示 48
图 3-41 调试游标进入下一行语句 1
图 4-1 基础实验一效果 51
图 4-2 LED原理图 52
图 4-3 打开项目并另外储存源档案 55
图 4-4 将源档案改名并另外储存 55
图 4-5 将另外储存的档案添加 56
图 4-6 将“mTest.c”档案从项目编译连结中排除 56
图 4-7 为mTestLedAllOpen.c编写代码 56
图 4-8 让LED一闪一闪 58
图 4-9 流水灯效果 60
图 4-10 流水灯程式设计和调试界面 60
图 4-11 驱动蜂鸣器发声 62
图 4-12 蜂鸣器原理图 63
图 4-13 按键控制LED亮灭 65
图 4-14 按键电路原理图 66
图 4-15 按键按下和鬆开的电信号变化 67
图 4-16 按键控制LED(中断方式) 71
图 5-1 中断查询方式的定时流水灯 77
图 5-2 中断方式的定时流水灯 83
图 5-3 实验过程演示:按下键2,黄灯亮(左图),释放,黄灯熄灭(右图) 87
图 5-4 200HZ声音时的通道2和通道3的波形 87
图 5-5 2000HZ声音时的通道2和通道3的波形 88
图 5-6 本人自购的示波器 91
图 5-7 开发板与示波器连线图 92
图 6-1 列印欢迎信息 99
图 6-2 CC2540串口与PC机串口的硬体连线图 104
图 6-3 串口输出系统硬体信息 106
图 6-4 使用C标準库输入输出函式进行串口收发实验 110
图 6-5 中断方式下的串口数据收发实验 116
图 7-1 手指压在CC2540上以测量晶片内部温度的变化 122
图 7-2 晶片内部电压和温度(当手指按在CC2540晶片上时,温度立即上升) 123
图 7-3 测量光敏电阻分压 130
图 7-4 手指按住光敏电阻(分压:1.805V) 1
图 7-5 手指离开光敏电阻(分压:0.400V) 1
图 7-6 LED强光直射光敏电阻(分压:0.071V) 1
图 7-7 相机袋压在光敏电阻上(2.900V) 1
图 7-8 光敏电阻原理图 1
图 8-1 按键控制休眠实验图 134
图 8-2 串口列印的信息(按键催眠、唤醒CPU实验) 135
图 8-3 进入反彙编代码查看PCON.IDLE=1指令地址 137
图 8-4 开发板的演示效果(睡眠定时器唤醒实验) 145
图 8-5 串口控制台列印的实验过程信息(睡眠定时器唤醒实验) 145
图 9-1 正常的流水灯演示实验 149
图 9-2 没有及时餵狗而导致反覆重启 149
图 9-3 控制台显示的反覆重启效果 150
图 9-4 Flash读写实验 154
图 10-1 手指按在DS18B20上面,温度一直在上升 159
图 10-2 DS18B20实验:手指按在DS18B20上面,使得温度上升 160
图 10-3 DS18B20温度测量模组 160
图 10-4 初始欢迎页面 1
图 10-5 键2按下,背光打开 1
图 10-6 键1按下,开始测量气温 1
图 10-7 键2按下,背光关掉 1
图 10-8 实验过程在串口控制台的演示 1
图 10-9 诺基亚5110显示屏正反面(带PCB小板) 169
图 10-10 CC2540与诺基亚5110的电路连线原理图 170
图 10-11 PCD8544写指令时序 171
图 10-12 PCD8544初始化时序 171
图 10-13 显存结构 172
图 10-14 用水平定址方式(V=0)往RAM写入数据的次序 173
图 10-15 汉字液晶点阵及对应编码 176
图 11-1 BLE协定栈构架 202
图 11-2 链路层状态机 204
图 11-3 两个设备建立连线以实现可靠数据传输 207
图 11-4 连线事件 208
图 11-5 属性结构 215
图 11-6 服务声明 217
图 11-7 特性声明 218
图 11-8 特性数值 218
图 12-1 单一设备的配置 228
图 12-2 网路处理器的配置 229
图 12-3 SimpleBLEPeripheral项目界面 230
图 12-4 系统运行机理 236
图 12-5 属性结构 240
图 13-1 SimpleBLEPeripheral项目界面 252
图 13-2 选项框中设定预处理宏 253
图 13-3 配置档案中定义预处理宏 253
图 13-4 Linker Map档案 255
图 13-5 SimpleBLECentral项目界面 271
图 13-6 Linker Map档案 271
图 14-1 添加外设驱动源档案 294
图 15-1 我的蓝牙通信简易实验平台 296
图 15-2 CCDBG端子扩展 296
图 15-3 CCDBG端子扩展板与CCDBG连线 297
图 15-4 增加和修改预定义宏 297
图 15-5 增加预定义宏 299
图 15-6 实验过程控制台显示(左图:SimpleBLEPeripheral;右图:SimpleBLECentral) 300
图 15-7 实验初始液晶显示(左图:SimpleBLEPeripheral;右图:SimpleBLECentral) 301
图 15-8 实验过程液晶显示(左图:SimpleBLEPeripheral;右图:SimpleBLECentral) 301
图 15-9 实验过程控制台显示(左图:SimpleBLEPeripheral;右图:SimpleBLECentral) 304
图 15-10 实验过程液晶显示(左图:SimpleBLEPeripheral;右图:SimpleBLECentral) 304
图 16-1 串口控制台列印实验过程(左图:外围设备端;右图:中央设备端) 310
图 16-2 连线建立并参数更新后的LCD显示及外围设备LED显示 311
图 16-3 单击按键后的LCD显示及外围设备LED显示 311
图 16-4 LCD显示MCU温度信息(左图:外围设备端;右图:中央设备端) 323
图 16-5 串口控制台列印实验过程(左图:外围设备端;右图:中央设备端) 324
图 16-6 LCD显示环境温度信息(左图:外围设备端;右图:中央设备端) 330
图 16-7 串口控制台列印实验过程(左图:外围设备端;右图:中央设备端) 331
图 16-8 LCD显示光照强度(左图:外围设备端;右图:中央设备端) 337
图 16-9 串口控制台列印实验过程(左图:外围设备端;右图:中央设备端) 337
图 16-10 中央设备串口控制台列印实验过程(左图:连线和发现;右图:四种定时模式) 345
图 16-11 外围设备串口控制台 1
图 16-12 LCD显示即时光照强度(左图:外围设备端;右图:中央设备端) 346
图 16-13 串口控制台列印实验过程(左图:外围设备端;右图:中央设备端) 356
图 16-14 LCD显示当前串口传送和接收信息(左图:外围设备;右图:中央设备) 357
图 17-1 中央设备启动过程1(扫描期间,USB开始初始化) 367
图 17-2 中央设备启动过程2(框中部分是显示的重合部分) 368
图 17-3 系统初始完成的初始LCD界面(PC自动传送键盘灯状体的USB报告) 368
图 17-4 蓝牙滑鼠串口控制台显示(左图:外围设备;右图:中央设备) 369
图 17-5 蓝牙滑鼠PC桌面测试 370
图 17-6 蓝牙键盘功能1串口控制台显示(左图:外围设备;右图:中央设备) 371
图 17-7 蓝牙键盘功能1 PC桌面测试 371
图 17-8 蓝牙键盘功能2串口控制台显示(左图:外围设备;右图:中央设备) 372
图 17-9 蓝牙键盘功能2 播放器测试——快进 372
图 17-10 蓝牙键盘功能2 播放器测试——快退 373
图 17-11 蓝牙键盘功能2 播放器测试——暂停 373
图 17-12 蓝牙键盘灯控制实验:串口信息输出(左图:外围设备;右图:中央设备) 374
图 17-13 蓝牙键盘灯控制实验:LED显示(共三幅图,每幅图的左上:中央设备;右下:外围设备) 374
图 17-14 蓝牙键盘灯控制实验:LCD显示(共两幅图,每幅图的左边:中央设备;右边:外围设备) 374
图 17-15 插入USB口之后出现第3个串口(COM5:USB CDC虚拟串口) 384
图 17-16 系统启动界面,自动配置串口透传 385
图 17-17 串口透传通信过程 385
图 17-18 启动BTool 389
图 17-19 bTool初始化界面 390
图 17-20 开始扫描 391
图 17-21 发现广播设备 392
图 17-22 建立连线 392
图 17-23 读写属性操作界面 393
图 17-24 利用特性UUID发现特性起始句柄 394
图 17-25 利用特性句柄读特性值 395
图 17-26 利用特性UUID读特性值 396
图 17-27 解决二进制向浮点型转换 396
图 17-28 利用多个特性句柄读多个特性值 397
图 17-29 根据特性句柄写LED特性值 398
图 17-30 写入之后(LED全亮) 1
图 17-31 写入之前(仅绿灯亮) 1
图 17-32 利用特性句柄写环境温度通知配置 399
图 17-33 利用特性句柄写光照强度通知配置 400
图 18-1 选择晶片对话框 403
图 18-2 SmartRF Packet Sniffer界面 403
图 18-3 Sniffer抓包结果 404
图 18-4 TI 低功耗蓝牙技术主页 405
图 18-5 CC254X PC端开发範例 406
图 18-6 CC254X 移动智慧型设备开发範例 406
图 18-7 CC254X 嵌入式设备开发範例 407
表 1-1 始终增长的传输速率 8
表 3-1 核心板J3直插引脚定义 28
表 3-2 核心板J4直插引脚定义 28
表 3-3 核心板J5直插引脚定义 29
表 3-4 LED接口 31
表 3-5 按键接口 32
表 3-6 感测器接口 32
表 3-7 UART接口(J13) 33
表 3-8 电源接口(J11) 33
表 3-9 底板J4直插引脚定义 33
表 3-10 底板J5直插引脚定义 33
表 3-11 底板仿真接口定义 34
表 4-1 P1 (0x90)–连线埠1 52
表 4-2 P2(0xA0)–连线埠2 53
表 4-3 P1SEL (0xF4)–连线埠1 功能选择 53
表 4-4 P2SEL (0xF5)–连线埠2 功能选择和连线埠1外设优先权控制 53
表 4-5 P1DIR (0xFE)–连线埠1方向 54
表 4-6 P2DIR (0xFF)–连线埠2方向和连线埠0 外设优先权控制 54
表 4-7 P0 (0x80)–连线埠0 63
表 4-8 P0SEL (0xF3)–连线埠0 功能选择 63
表 4-9 P0DIR (0xFD)–连线埠0 功能选择 63
表 4-10 P0 (0x80)–连线埠0 66
表 4-11 P0SEL (0xF3)–连线埠0 功能选择 66
表 4-12 P0DIR (0xFD)–连线埠0 方向 66
表 4-13 P0INP (0x8F)–连线埠0 输入模式 66
表 4-14 P2INP (0xF7)–连线埠2 输入模式 67
表 4-15 P0IFG(0x89)–连线埠P0.7到P0.0中断状态标誌 72
表 4-16 PICTL(0x8C)位0–连线埠0中断模式配置 72
表 4-17 P0IEN(0xAB)–连线埠P0.7到P0.0中断使能 72
表 4-18 IEN0(0xA8)位7-使能所有中断源 72
表 4-19 IEN1(0xB8)位5-连线埠0中断源使能 72
表 4-20 IRCON(0xC0)位5-连线埠0中断标誌 72
表 5-1 T1CNTH(0xE3)–定时器1计数器高位 77
表 5-2 T1CNTL(0xE2)–定时器1计数器低位 78
表 5-3 T1CTL(0xE4)–定时器1的控制和状态 78
表 5-4 T1STAT(0xAF)–定时器1状态 78
表 5-5 T1CC0H(0xDD)–定时器1 通道1 捕获/比较值高位 79
表 5-6 T1CC0L(0xDA)–定时器1 通道0 捕获/比较值低位 79
表 5-7 CLKCONCMD(0xC6)与定时器相关的位–时钟控制命令 79
表 5-8 CLKCONSTA(0x9E)–时钟控制状态 80
表 5-9 IEN0(0xA8)位7–中断源使能总开关 84
表 5-10 IEN1(0xB8)位1-定时器1中断使能 84
表 5-11 T1STAT(0xAF)位5–定时器1状态 84
表 5-12 IRCON(0xC0)位1-定时器1中断标誌 84
表 5-13 PERCFG(0xF1)-外设控制 88
表 5-14 P2DIR(0xFF)-连线埠2方向和连线埠0外设优先权控制 88
表 5-15 P0SEL(0xF3)-连线埠0功能选择 89
表 5-16 P0DIR(0xFD)-连线埠0功能选择 89
表 5-17 T1CCTL3(0x62A3)-定时器1通道3捕获/比较控制 89
表 5-18 T1CC0H(0xDD)-定时器1通道1捕获/比较值高位 90
表 5-19 T1CC0L(0xDA)-定时器1通道0捕获/比较值低位 90
表 6-1 U0CSR (0x86)-USART0控制和状态 100
表 6-2 U0UCR(0xC4)-USART0的UART控制 101
表 6-3 U0GCR (0xC5)-USART0通用控制 102
表 6-4 U0BUF又名U0DBUF(0xC1)-USART0接收/传送数据快取 102
表 6-5 U0BAUD(0xC2)-USART0波特率控制 102
表 6-6 P2DIR (0xFF)–连线埠2方向和连线埠0外设优先权控制 103
表 6-7 32MHZ系统时钟的常用波特率设定 103
表 6-8 CHVER(0x6249)–晶片版本 107
表 6-9 CHIPID (0x624A) –晶片ID 107
表 6-10 CHIPINFO0(0x6276)–晶片信息位元组0 107
表 6-11 CHIPINFO1(0x6277)–晶片信息位元组1 108
表 6-12 TCON(0x88)–中断标誌 117
表 6-13 IRCON2(0xE8)–中断标誌5 117
表 6-14 串口收发中断向量描述 117
表 6-15 IEN0(0xA8)–中断使能0 117
表 6-16 IEN2 (0x9A)–中断使能2 117
表 7-1 APCFG (0xF2)–模拟外设I/O 配置 123
表 7-2 ADCL (0xBA)-ADC 数据低位 123
表 7-3 ADCH (0xBB) - ADC 数据高位 123
表 7-4 ADCCON1 (0xB4)-ADC 控制1 124
表 7-5 ADCCON2 (0xB5)-ADC控制2 124
表 7-6 ADCCON3 (0xB6)-ADC 控制3 125
表 7-7 TR0 (0x624B)–测试暂存器0 126
表 7-8 ATEST (0x61BD)–模拟测试控制 126
表 8-1 PCON(0x87)–供电模式控制 136
表 8-2 SLEEPCMD(0xBE)–睡眠模式控制 136
表 8-3 SLEEPSTA(0x9D)–睡眠模式控制状态 136
表 8-4 ST2(0x97)–休眠定时器2 146
表 8-5 ST1(0x96)–休眠定时器1 146
表 8-6 ST0(0x95)–休眠定时器0 146
表 8-7 STLOAD(0xAD)–睡眠定时器载入状态 146
表 9-1 看门狗暂存器 150
表 10-1 传送ROM 指令 161
表 10-2 传送存储器指令 162
表 10-3 诺基亚5110液晶屏接口(带PCB小板) 169
表 10-4 USART功能配置 169
表 10-5 PCD8544指令集 171
表 10-6 上表有关字元的解释 172
表 10-7 PCD8544 SPI时钟频率 172
表 10-8 PERCFG (0xF1)–外设控制 173
表 10-9 U1CSR (0xF8)-USART 1 控制和状态 173
表 10-10 U1UCR (0xFB)-USART 1控制 174
表 10-11 U1GCR (0xFC)-USART 1 通用控制 174
表 10-12 U1BUF (0xF9) - USART 1 接收/传送数据快取 175
表 10-13 U1BAUD (0xFA) - USART 1 波特率控制 175
表 11-1 首要服务与次要服务的属性资料库样例 217
表 12-1 Simple GATT Profile 属性表 248
表 12-2 SimpleKeys GATT Profile 属性表 251

转载请注明出处累积网 » 物联网技术实践教程——基于蓝牙4

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com