设置广播时间
需要在应用层设置广播时间,需要随时设置。
我是在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
。提供了几种更改广播时间的方法,值得借鉴