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.

[参考译文] CC2650DK:如何使 GAP GATT 属性 attDeviceName[GAP_DEVICE_NAME_LEN]动态?

Guru**** 2589300 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/604089/cc2650dk-how-to-make-gap-gatt-attribute-attdevicename-gap_device_name_len-dynamic

器件型号:CC2650DK

您好!

我正在开发 ble_sdk_2_02_01_18 和 tirtos_cc13xx_cc26xx_2_20_01_08 cc2650 定制 sensortag 器件上的多角色项目。

我需要通过添加变量来使 IOS 设备的 attDeviceName 具有动态特性。

例如:  

attDeviceName[GAP_DEVICE_NAME_LEN]="Sensor01"

对于下一个设备:  

attDeviceName[GAP_DEVICE_NAME_LEN]="Sensor02"

我通过在 multi_role init 中使用类似的变量来实现这一动态

attDeviceName[0]="S";
attDeviceName[1]="e";
attDeviceName[2]="n";
attDeviceName[3]="s";
attDeviceName[4]="o";
attDeviceName[5]="r";

attDeviceName[6]= A+0x30;
attDeviceName[7]= b+0x30;

但是,通过使用这种方法,在连接和断开设备连接后,IOS 设备上的设备名称不可见,有时会显示垃圾名称或空白。

通过使用动态方法、我能够在 scanRspData 中进行更改、这在 Android 应用程序上可见、但在使用 IOS 时我遇到了问题

请任何人就如何解决此问题提供一些建议。

谢谢。

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

    您是否与调试器确认 attDeviceName[]包含有效的 ASCII 字符串? 通常,您可以对单个字符使用单引号“”,对字符串使用双引号。

    请注意、在建立初始连接并读取 GAP 设备名称后、iOS 不使用 scanRspData。

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

    我应该对单个字符使用单引号。

    但是、如果我们稍后更新了 attDeviceName、下一次连接的 IO 是否正确读取了 scanRspData。

    谢谢。