欢迎来到天天文库
浏览记录
ID:42574805
大小:610.28 KB
页数:10页
时间:2019-09-18
《CC2540 BLE PeripheralBroadcaster Example(蓝牙4.0从机和广播者多角色实例)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、[置顶] CC2540BLEPeripheralBroadcasterExample(蓝牙4.0从机和广播者多角色实例)分类: 蓝牙2013-10-1921:48 440人阅读 评论(0) 收藏 举报CC2540BLEPeripheralBroadcaste从机和广播多角色CC2540multiplerole目录(?)[+]实验环境:蓝牙版本:TICC2540协议栈:1.2.1参考手册:协议栈参考文档TI_BLE_Software_Developer's_Guide.pdf实验目的:实现CC240从机在连接以后,还可以继续以广播者的身份广播告知其他设备从机的存在。
2、 Peripheraldevicesendingoutadvertisementswhileconnected所修改的工程:协议栈中SimpleBLEPeripheral文件夹下的SimpleBLEPeripheral.eww工程实验现象:上电时,从机广播,然后连接从机后,按键HAL_KEY_SW_1,切换到广播者状态(连接中的广播状态),再次搜索还是可以搜索到该设备,但是不可以连接 预编译选项如下所示:INT_HEAP_LEN=3072HALNODEBUGOSAL_CBTIMER_NUM_TASKS=1HAL_AES_DMA=TRUEHAL_DM
3、A=TRUEPLUS_BROADCASTERHAL_LCD=TRUEHAL_LED=TRUEHAL_UART=TRUExPOWER_SAVING 需要强调的是,部分内容需要根据自己的平台做相应修改 一、广播的相关设置首先不要忘记在预编译中加入PLUS_BROADCASTER;在peripheralBroadcaster.c文件中查看voidGAPRole_Init(uint8task_id)这个函数中确保一下设置为:gapRole_profileRole=(GAP_PROFILE_PERIPHERAL); 二、从机的相关设置1、为了方便起见,首先设置从机的广播模式为一直
4、广播,在simpleBLEPeripheral.c中//Limiteddiscoverablemodeadvertisesfor30.72s,andthenstops//Generaldiscoverablemodeadvertisesindefinitely ///受限广播和 通用广播///测试阶段修改为一直广播#ifdefined(CC2540_MINIDK)#defineDEFAULT_DISCOVERABLE_MODE GAP_ADTYPE_FLAGS_LIMITED#else#defineDEFAULT_DISCOVERABLE_MODE
5、 GAP_ADTYPE_FLAGS_GENERAL#endif //defined(CC2540_MINIDK)根据自己的实际情况修改为一直广播就可以,我这里预编译里面没有定义CC2540_MINIDK 2、设置广播者切换在simpleBLEPeripheral.c中找到函数staticvoidsimpleBLEPeripheral_HandleKeys(uint8shift,uint8keys)可以按照下列给HAL_KEY_SW_1做修改: [html] viewplaincopy1.if ( keys & HAL_KEY_SW_1 ) 2.
6、 { 3. ///SK_Keys
7、= SK_KEY_LEFT; 4. HalUARTWrite(0,"KEY1",5); 5. /// 6. osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_ADVDATA_EVT, 50 ); 7. } 需要注意的是SBP_ADVDATA_EVT事件要在simpleBLEPeripheral.h中定义:[html] viewplaincopy1.// Simple BLE Peripheral Task Events 2.#def
8、ine SBP_START_DEVICE_EVT 0x0001 3.#define SBP_PERIODIC_EVT 0x0002 4.#define SBP_ADV_IN_CONNECTION_EVT 0x0004 5./// 6.#define SBP_ADVDATA_EVT 0x0008
此文档下载收益归作者所有