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.

设置广播时间



需要在应用层设置广播时间,需要随时设置。

我是在SimpleBLEPeripheral_ProcessEvent的SBP_START_DEVICE_EVT事件中设置,代码如下

参照之前帖子上面写的

if(events & APP_DEBUG_TEST_EVT)

{

...

unt16 advIntervalMin = 1600 ;
uint16 advIntervalMax = 1600 ;
uint8 advType = HCI_CONNECTABLE_UNDIRECTED_ADV;
uint8 ownAddrType = HCI_PUBLIC_DEVICE_ADDRESS;
uint8 directAddrType = HCI_PUBLIC_DEVICE_ADDRESS;
uint8 *directAddr = NULL;
uint8 advChannelMap = HCI_ADV_CHAN_38;
uint8 advFilterPolicy = HCI_ADV_WL_POLICY_ANY_REQ;

HCI_LE_SetAdvParamCmd(advIntervalMin,advIntervalMax,advType,ownAddrType,
directAddrType,directAddr,advChannelMap,advFilterPolicy );
HCI_LE_SetAdvEnableCmd(HCI_ENABLE_ADV);

...

return (events ^ APP_DEBUG_TEST_EVT);

}

发现没有修改成功。

也试了使用GAP_SetParamValue的方式设置广播时间,也没有设置成功,请问这个是怎么回事,需要其他地方作修改么?

  • 广播时间不一般不需要再HCI层做设置,可以参考帖子http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/62121.aspx

    。提供了几种更改广播时间的方法,值得借鉴