我在程序中收到一个指令后根据收到的新周期值动态修改广播周期:
刚开始直接更新的广播周期:
GAP_SetParamValue( TGAP_LIM_DISC_ADV_INT_MIN, advInt );
GAP_SetParamValue( TGAP_LIM_DISC_ADV_INT_MAX, advInt );
GAP_SetParamValue( TGAP_GEN_DISC_ADV_INT_MIN, advInt );
GAP_SetParamValue( TGAP_GEN_DISC_ADV_INT_MAX, advInt );
GAP_SetParamValue( TGAP_GEN_DISC_ADV_MIN, 0);
用sniff抓包看没有修改成功。 查看了之前的相关文章,我先关闭广播,然后再修改,修改完打开广播,结果sniff显示广播没了。
uint8 current_advertising_enable = FALSE;
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), ¤t_advertising_enable );
uint16 advInt = *rx_ptr++;
advInt = advInt<<8 | (*rx_ptr++);
GAP_SetParamValue( TGAP_LIM_DISC_ADV_INT_MIN, advInt );
GAP_SetParamValue( TGAP_LIM_DISC_ADV_INT_MAX, advInt );
GAP_SetParamValue( TGAP_GEN_DISC_ADV_INT_MIN, advInt );
GAP_SetParamValue( TGAP_GEN_DISC_ADV_INT_MAX, advInt );
GAP_SetParamValue( TGAP_GEN_DISC_ADV_MIN, 0);
//Start Adv
current_advertising_enable = TRUE;
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), ¤t_advertising_enable );
已经无计可施了,请求帮助,谢谢!