通过查看TI的文档中说CC2541在建立连接之后,还能继续广播,如下图:
添加步骤(工程:BLE-CC254x-1.4.1.43908b->SimpleBLEPeripheral):
1.IAR工具中修改宏:xPLUS_BROADCASTER ---> PLUS_BROADCASTER ;
2.通过IAR去掉peripheral.c&peripheral.h的包含,添加包含peripheralBroadcaster.c&perpherialBroadcaster.h;
编译不通过,我又修改了:
3.修改了peripheralBroadcaster.c中包含的头文件hci.h ----> hci_tl.h;
4.添加perpherialBroadcaster.h中缺失的宏GAPROLE_ADVERTISING_NONCONN...;
编译通过了,运行发现没有任何广播包的发出:
5.修改应用程序中包含的头文件:peripheral.h ----> peripheralBroadcaster.h,发现同样的没有广播发出,没有任何效果;
跟踪调试发现gapRole_state状态在我调用GAPRole_SetParameter启用广播的时候,gapRole_state的值始终等于0,即为GAPROLE_INIT;
在GAPRole_ProcessEvent中收到的系统消息,HCI_GAP_EVENT_EVENT事件的Status始终等于0xff。
想请教一下各位大神,我整个过程哪里出了问题,或者说应该怎么使用CC2541的Broadcaster Multi-Role的功能呢? |