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.

[参考译文] 属性验证失败

Guru**** 2587365 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/598031/attribute-validation-failed

您好 Todd、

感谢您的回复。

我能够根据您的建议构建应用程序... 它工作得流畅

但我遇到的一个问题是、在添加 OAD 后、构建成功、当我尝试通过器件监视器(版本2.3.0)连接它时、我得到了"属性验证失败"。

因此、我通过对固件进行轻微修改来解决了这个问题。  

#ifdef Feature_OAD
void OAD_addService();// OAD 配置文件
OAD_register (((oadTargetCBs_t *)&SPPBLESERVER_oadCBs);
hOadQ = Util_constructQueue (oadQ);
#endif //feature_OAD

#ifndef feature_OAD_ONCHIP
// SimpleProfile_AddService (GATT_All_services);//简单 GATT 配置文件
SerialPortService_AddService (GATT_ALL_SERVICES);//SerialPortBLE 服务
#endif //!feature_OAD_ONCHIP

首先我注册了 OAD 服务,然后注册了串行端口服务。 相反(即出现"属性验证失败"错误时)

这是否意味注册服务中的订单很重要?

请给我一个说明...

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

    您好 Todd、

    感谢您的回复。

    不知怎么,我成功地解决了这个问题。 但是、我无法从浅蓝色应用程序订阅通知。 读取该特性可得出"无值"

    固件在添加 OAD 之前运行良好。

    不知道为什么会发生这种情况。 有什么解决方法吗??

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

    这种顺序可能会出现内存分配失败的情况。 理想情况下、顺序无关紧要。 注册该服务会将您定义的表传递给 GATTServApp、并初始化任何 CCCD 和特征值。

    也许要验证这个问题、请尝试启用 iCall 堆指标、并查看设置中是否存在导致问题的块分配失败。

    您可以在以下位置查看有关如何挂钩到堆管理器的说明: software-dl.ti.com/.../gen-debugging.html

    此致、
    反叛分子