尊敬的 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的通知失败。
您对此案例有什么建议吗? 非常感谢。
静态空 SimpleBLEPeripheral_performPeriodicTask (空)
{
uint8_t valueToCopy;
//调用以检索配置文件中第三个特征的值
if (SimpleProfile_GetParameter (SIMPLEPROFILE_CHAR3、&valueToCopy)==成功)
{
//调用以设置配置文件中第四个特征的值。
//请注意,如果已收到第四个特征的通知
// GATT 客户端设备启用,然后将发送通知
//每次调用此函数。
SimpleProfile_SetParameter (SIMPLEPROFILE_CHAR4、sizeof (uint8_t)、
&valueToCopy);
}
}