TI中文支持网
TI专业的中文技术问题搜集分享网站

关于CC254x动态修改广播数据的一些疑问。

论坛上说使用GAP_UpdateAdvertisingData可以更新广播数据。也提到了在GAPRole_SetParameter中的case GAPROLE_ADVERT_DATA:加上这个函数就可以实现动态更新广播数据。效果如下:

case GAPROLE_ADVERT_DATA:if ( len <= B_MAX_ADV_LEN ){VOID osal_memset( gapRole_AdvertData, 0, B_MAX_ADV_LEN );VOID osal_memcpy( gapRole_AdvertData, pValue, len );gapRole_AdvertDataLen = len;GAP_UpdateAdvertisingData(gapRole_TaskID, TRUE, gapRole_AdvertDataLen, gapRole_AdvertData);}else{ret = bleInvalidRange;}break;

但是,我在同文件里面的gapRole_ProcessGAPMsg函数里面发现有使用GAP_UpdateAdvertisingData函数。其中的两个事件中也使用了更新函数。

GAP_DEVICE_INIT_DONE_EVENT

GAP_ADV_DATA_UPDATE_DONE_EVENT

后者应该就是广播更新事件吧。那不是应该理解为GAPRole_SetParameter只是设置广播数据内容。只有当某一时刻的时候,进入gapRole_ProcessGAPMsg的GAP_ADV_DATA_UPDATE_DONE_EVENT才去更新GAPRole_SetParameter设置的数据吗?

hanhan:

居然没人回复

cedar_xuesong:

协议栈都是异步操作的,

GAPRole_SetParameter只是通知底层来更新广播信息,不代表更新完毕

赞(0)
未经允许不得转载:TI中文支持网 » 关于CC254x动态修改广播数据的一些疑问。
分享到: 更多 (0)