CC2540 BLE PeripheralBroadcaster Example(蓝牙4.0从机和广播者多角色实例).docx

CC2540 BLE PeripheralBroadcaster Example(蓝牙4.0从机和广播者多角色实例).docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CC2540 BLE PeripheralBroadcaster Example(蓝牙4.0从机和广播者多角色实例)

?[置顶]?CC2540 BLE PeripheralBroadcaster Example(蓝牙4.0从机和广播者多角色实例)分类:?蓝牙2013-10-19 21:48?440人阅读?评论(0)?收藏?举报CC2540BLEPeripheralBroadcaste从机和广播多角色CC2540 multiple role目录(?)[+]实验环境:蓝牙版本:TI CC2540协议栈:1.2.1参考手册:协议栈参考文档 TI_BLE_Software_Developers_Guide.pdf实验目的:实现CC240从机在连接以后,还可以继续以广播者的身份广播告知其他设备从机的存在。??????????????? Peripheral device sending out advertisements while connected所修改的工程:协议栈中SimpleBLEPeripheral文件夹下的SimpleBLEPeripheral.eww工程实验现象:上电时,从机广播,然后连接从机后,按键HAL_KEY_SW_1,切换到广播者状态(连接中的广播状态),再次搜索还是可以搜索到该设备,但是不可以连接?预编译选项如下所示:INT_HEAP_LEN=3072HALNODEBUGOSAL_CBTIMER_NUM_TASKS=1HAL_AES_DMA=TRUEHAL_DMA=TRUEPLUS_BROADCASTERHAL_LCD=TRUEHAL_LED=TRUEHAL_UART=TRUExPOWER_SAVING?需要强调的是,部分内容需要根据自己的平台做相应修改?一、广播的相关设置首先不要忘记在预编译中加入PLUS_BROADCASTER;在peripheralBroadcaster.c文件中查看void GAPRole_Init( uint8 task_id )这个函数中确保一下设置为:gapRole_profileRole = (GAP_PROFILE_PERIPHERAL);?二、从机的相关设置1、为了方便起见,首先设置从机的广播模式为一直广播,在simpleBLEPeripheral.c中// Limited discoverable mode advertises for 30.72s, and then stops// General discoverable mode advertises indefinitely?///受限广播和? 通用广播///测试阶段修改为一直广播#if defined ( CC2540_MINIDK )#define DEFAULT_DISCOVERABLE_MODE???????????? GAP_ADTYPE_FLAGS_LIMITED#else#define DEFAULT_DISCOVERABLE_MODE???????????? GAP_ADTYPE_FLAGS_GENERAL#endif? // defined ( CC2540_MINIDK )根据自己的实际情况修改为一直广播就可以,我这里预编译里面没有定义CC2540_MINIDK??2、设置广播者切换在simpleBLEPeripheral.c中找到函数static void simpleBLEPeripheral_HandleKeys( uint8 shift, uint8 keys )可以按照下列给HAL_KEY_SW_1做修改:?[html]?view plaincopyif?(?keys??HAL_KEY_SW_1?)????{??????///SK_Keys?|=?SK_KEY_LEFT;??????HalUARTWrite(0,KEY1\n,5);??????///??????osal_start_timerEx(?simpleBLEPeripheral_TaskID,?SBP_ADVDATA_EVT,?50?);?????}???需要注意的是SBP_ADVDATA_EVT事件要在simpleBLEPeripheral.h中定义:[html]?view plaincopy//?Simple?BLE?Peripheral?Task?Events??#define?SBP_START_DEVICE_EVT??????????????????????????????0x0001??#define?SBP_PERIODIC_EVT??????????????????????????????????0x0002??#define?SBP_ADV_IN_CONNECTION_EVT?????????????????????????0x0004???///??#define?SBP_ADVDATA_EVT????????????

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档