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.

[参考译文] CC2541:广播数据更新,但未进行广播和#39;t 未进行广播?

Guru**** 2560390 points
Other Parts Discussed in Thread: CC2541

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/569334/cc2541-advertisement-data-update-but-doesn-t-not-broadcast

器件型号:CC2541

尊敬的专家:

在这里、我使用 CC2541来测试基于 simpleperipheral 示例项目的基于广播的数据更新。

我将广播周期设置为 DEFAULT_advertising_interval 32 //(20ms)和连续广播

并  在 计时器事件中每100ms 更新一次 Adv 数组的新广播数据(静态 uint8 advertData[31]), 并且,我  已通过 调用 void SimpleBLEPeripheral_Init( uint8 task_id )函数中的 HCI_EXT_AdvEventNoticeCmd (simpleBLEPeripheral_TaskID、SBP_ADV_EVT)注册了广播事件通知中的新 advertData 数组。 如下所示:

if (Events & SBP_ADV_EVT)//通告事件通知
 {
   GAPRole_SetParameter( GAPROLE_advertise_data,sizeof ( advertData ),advertData );
   返回(事件^ SBP_ADV_EVT);
 }

我发现、有时新数据不会广播(多次) 、 有时会很快广播。

我在  论坛上发现了一个简单的问题、即广告  活动通知中给出了最新的广告数据、这是我遵循的方式、但广播新数据仍有问题 、有时需要多次重试。  

我们的应用必须知道广播新数据的最短时间。  

可以帮助 指导开发人员了解更新广播新数据的正确时间,这些数据可以立即广播出去,而不会多次重试或重试时间最短 ?

在 advnace 中谢谢。

 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您是否还尝试更改计时器事件中的数据? 您是否在数据包监听器中接收到数据包?

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Zahid:
    我更新了 SBP_ADV_EVT //广播事件通知中的广播内容(例如,增加计数器)
    我可以通过监听器获取广播包、但内容是旧的、而不是新的。

    新的广播内容是否可能不会在 TI BLE 堆栈中更新和广播?

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    您能否在调用 API 在 peripheral.c 中设置广播数据时检查返回值是否成功:

    //更新广播数据
    RET = GAP_UpdateAddisingData (gapRole_TaskID、
    true、gapRole_AddertDataLen、gapRole_AddertData);

    祝你一切顺利