BLE协议栈-学习.docx_第1页
BLE协议栈-学习.docx_第2页
BLE协议栈-学习.docx_第3页
BLE协议栈-学习.docx_第4页
BLE协议栈-学习.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BLE协议栈CC2540 and CC2541 Bluetooth low energy software developers Reference Guide学习TI CC254xBLE协议栈,参考其软件开发手册。记录一些重要的概念以及API。本文主要参考资料CC2540 and CC2541 Bluetooth low energy software developers 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层操作在下列四个角色中:a. 广播器 Broadcaster 不能够连接的广告器b. 观察器 Observer 扫描广告但不能启动连接c. 外设 Peripheral 通常理解为从机d. 中央总机 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( uint16 ), &desired_max_interval );GAPRole_SetParameter( GAPROLE_SLAVE_LATENCY, sizeof( uint16 ), &desired_slave_latency );GAPRole_SetParameter( GAPROLE_TIMEOUT_MULTIPLIER, sizeof( uint16 ), &desired_conn_timeout );b.初始化GAPRole任务。即在事件处理函数uint16 SimpleBLEPeripheral_ProcessEvent( uint8 task_id, uint16 events )中,传递一个函数指针到应用回调函数。if ( events & SBP_START_DEVICE_EVT )/ Start the DeviceVOID GAPRole_StartDevice( &simpleBLEPeripheral_PeripheralCBs );c.从应用发送GAPRole命令,下面以GAPRole_TerminateConnection( void )为例库代码BLE协议栈接收命令,试图终止连接并返回命令状态bStatus_t GAPRole_TerminateConnection( void )if ( (gapRole_state = GAPROLE_CONNECTED)| (gapRole_state = GAPROLE_CONNECTED_ADV) )return ( GAP_TerminateLinkReq( gapRole_TaskID, gapRole_ConnectionHandle,HCI_DISCONNECT_REMOTE_USER_TERM )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论