- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BLE协议栈CC2540 and CC2541 Bluetooth low energy software developer’s Reference Guide学习TI CC254xBLE协议栈,参考其软件开发手册。记录一些重要的概念以及API。本文主要参考资料《CC2540 and CC2541 Bluetooth low energy software developer’s Reference Guide》。1、状态:2、连接参数:连接间隔:有效连接间隔 = 连接间隔 * (1 + 从机延时)Effective Connection Interval = (Connection Interval) × (1 + [Slave Latency])Where:? Connection Interval: 80 (100 ms)? Slave Latency: 4? Effective Connection Interval: (100 ms) × (1 + 4) = 500 msWhen no data is sent from the slave to the master, the slave will transmit during a connection event once every 500 ms.从机延时管理超时连接参数更新,由L2CAP层处理,包括的内容有:最小、最大连接间隔、从机延时、超时。连接参数更新——从机发出更新请求,主机接受更新或拒绝。3、连接终断:主机、从机任何时间以任何原因都可以终断连接。4、GAP Abstraction从图中可知道,绝大部分GAP功能在GAP Role 任务中处理,一小部分必须直接由GAP层处理。配置GAP层:其大部分函数被定义在库代码中,这一部分TI以Lib的形式提供给开发者,开发者看不到具体的代码;可以从gap.h中找到函数头,并且其中大部分的函数在GAP Role任务中调用,不需要开发者直接调用。开发者常使用的函数有:GAP_SetParamValue()、GAP_GetParamValue()5、GAP Role任务:该任务在应用初始化时被使能,基于配置,许多BLE协议栈事件直接由GAP Role任务处理,而不需要通过应用层。因为回调函数的存在,所有可以在应用层注册GAP Role任务事件。外设——状态改变回调:参考表B.3.1 105页主机——事件回调:参考表A.399页 表C.3.2112页主机事件回调,任何一个事件回调都会传递一个GAP_MSG_EVENT系统消息,其中一些消息会传递到GAP Role层,还有一些传递到GAP_Bondmgr层。GAP层操作在下列四个角色中:广播器 Broadcaster —— 不能够连接的广告器观察器 Observer —— 扫描广告但不能启动连接外设 Peripheral —— 通常理解为从机中央总机 Central —— 通常理解为主机几种角色可以组合,CC254x不支持同时扮演从机与主机的角色,CC2640支持这一功能。(注意理解不同时,有主从一体的CC254x例程。)6、从机角色源文件:perihperal.c、peripheral.h通常使用该模块的步骤如下:a.初始化GAPRole参数。 (参数可参考B.2)// Set the GAP Role ParametersGAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), initial_advertising_enable );GAPRole_SetParameter( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), gapRole_AdvertOffTime );GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ),scanRspData );GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData);GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), enable_update_request );GAPRole_SetParameter( GAPROLE_MIN_CONN_INTERVAL, sizeof( uint16 ), desired_min_interval );GAPRole_SetParameter( GAPROLE_MAX_CONN_INTERVAL, sizeof( uint
文档评论(0)