当前使用SDK为simplelink_cc2640r2_sdk_4_40_00_10,编译器为CCS7.4.0.00015,
我已经根据peripheral对broadcaster做了一些改动,不过还有问题想咨询一下。
请问程序跑起来后是直接进入long range mode,还是需要添加其他的语句来切换到这个模式?
另外,我想动态地修改advertData,每次赋值后应该如何更新广播内容?GAP_UpdateAdvertisingData这个函数应该是已经被删除了。
谢谢解答。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
当前使用SDK为simplelink_cc2640r2_sdk_4_40_00_10,编译器为CCS7.4.0.00015,
我已经根据peripheral对broadcaster做了一些改动,不过还有问题想咨询一下。
请问程序跑起来后是直接进入long range mode,还是需要添加其他的语句来切换到这个模式?
另外,我想动态地修改advertData,每次赋值后应该如何更新广播内容?GAP_UpdateAdvertisingData这个函数应该是已经被删除了。
谢谢解答。
请问程序跑起来后是直接进入long range mode,还是需要添加其他的语句来切换到这个模式?
使能该模式的话,您可以使用HCI_LE_SetPhyCmd()
在peripheral下可以找到
static uint8_t phy[] = {
HCI_PHY_1_MBPS, HCI_PHY_2_MBPS, HCI_PHY_1_MBPS | HCI_PHY_2_MBPS,
HCI_PHY_CODED, HCI_PHY_1_MBPS | HCI_PHY_2_MBPS | HCI_PHY_CODED, AUTO_PHY_UPDATE
};
long range mode的话,您需要使用HCI_PHY_CODED
当您处于连接状态时,使用 HCI_LE_SetPhyCmd()。如下语句
HCI_LE_SetPhyCmd(connHandle, 0, HCI_PHY_CODED, HCI_PHY_CODED, LL_PHY_OPT_S8);
动态修改advertData方面
请您参考下面关于动态修改广播数据的方法
https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1012324/launchxl-cc2640r2-attempting-to-change-the-data-packets-advertised-during-runtime-using-the-skeleton-code-of-simple_broadcaster
如果需要在更新广告数据后触发相关事件,GAP_UpdateAdvertisingData() 也将起作用。
另外下面的教程包含了有关更改广告数据的更多信息
HCI_LE_SetPhyCmd这条语句
HCI_LE_SetPhyCmd()是请求更改发送器和接收器 PHY 的 API 调用。如果您在运行期间不会更改 PHY,则HCI_LE_SetDefaultPhyCmd()将允许主机指定默认 PHY 并用于所有后续连接。
HCI_LE_SetDefaultPhyCmd()应该写在哪个位置,SimpleBroadcaster_init的末尾吗?
请看一下
但是编译时会报错,显示unresolved symbol
应该是您在CCS内没有添加路径,类似下面这样
你好,Susan。
谢谢解答。
我在Include Options里添加了路径(${SRC_BLE_DIR}/../../../source/ti/ble5stack/inc, ${SRC_BLE_DIR}/../../../source/ti/ble5stack/icall/inc)并使用各种方法包含函数所在头文件,但问题依旧。抱歉无法上传图片
若是可以的话,请您上传一下工程,我来具体看一下