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.

[参考译文] CC2640R2F:如何在定义 feature_OAD_ONCHIP 时启用 simpleprofile

Guru**** 2577385 points
Other Parts Discussed in Thread: CC2640R2F

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/590476/cc2640r2f-how-to-enable-simpleprofile-when-define-feature_oad_onchip

器件型号:CC2640R2F

尊敬的 TI 专家:

我的客户之一是使用 CC2640R2F Lauchpad + BLE 堆栈调试片上 OAD --c2640r2_sdk_1_30_00_25。

我在  simple_peripheral_oad_onchip 演示中发现, 当定义 feature_OAD_ONCHIP 时,simpleprofile 会被禁用。   这是因为闪存大小受限吗?

为了启用 Simpleprofile、我们 删除 了 simple_peripheral.c 中的所有 feature_OAD_ONCHIP  这 是启用 Simpleprofile 并保留 片上 OAD 功能的正确过程  吗?

我们发现、当删除 feature_OAD_ONCHIP 时、   如果    在 PeriodicTask 下面更改了 SIMPLEPROFILE_CHAR4的值、它不能不起作用。 但是 、如果 我们在另一个非周期性函数中执行它、一切都是正确的。

SimpleBLEPeripheral_performPeriodicTask 每500ms 正常运行一次。当我们设置 时,我们可以 成功地将 R/W 设置为 SIMPLEPROFILE_CHAR3,只有 SIMPLEPROFILE_CHAR4的通知失败

您对此案例有什么建议吗? 非常感谢。

 

if (事件 和 SBP_Periode_EVT)---- >SimpleBLEPeripheral_performPeriodicTask ---- >

静态空 SimpleBLEPeripheral_performPeriodicTask (空)

 uint8_t valueToCopy;

 //调用以检索配置文件中第三个特征的值
 if (SimpleProfile_GetParameter (SIMPLEPROFILE_CHAR3、&valueToCopy)==成功)
 {
   //调用以设置配置文件中第四个特征的值。
   //请注意,如果已收到第四个特征的通知
   // GATT 客户端设备启用,然后将发送通知
   //每次调用此函数。
   SimpleProfile_SetParameter (SIMPLEPROFILE_CHAR4、sizeof (uint8_t)、
                              &valueToCopy);
 }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否首先启用了通知?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bruce、

    关于在定义片上负载时删除 simple_profile 的问题-是的、这是因为闪存节省了。 在 R2F 上、您可能会觉得很好、该项目是从 R1移植来的、其中 OAD 芯片对闪存的限制要大得多、

    关于第二点、正如 Christin 提到的、您是否启用了通知? (监听器日志会显示此信息)

    此致、

    反叛分子

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Rebel 和 Christin:
    感谢您的支持。 是的、通知已启用。 当客户将其放入非定期任务时、通知是可以的。 但是,在周期性事件中,每次通知都失败-- SBP_Periode_EVT (每500ms 一次)。 他们偶尔会发现 RTOS 错过了周期性事件。 您对此有什么建议吗? 非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bruce、

    检查 SBP_All_Events 是否包含 SBP_Periode_EVT -可能无法达到事件发布;

    使用断点进行双次检查-否则、我们可能需要监听器捕获来检查正在发生的情况。

    此致、

    反叛分子

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的反叛分子:
    禁用多个计时器时、问题得到解决、似乎他们使用了太多计时器并影响通知。 感谢你的帮助。