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.

设备名的问题

Other Parts Discussed in Thread: CC2540

yan,你好

      app把设备名字改好后,在app里显示是改成功了。但我断开后,重新连接。或在蓝牙设置里面忽略设备再配对连接,名字又回到以前在固件中设置好的。

我在固件中收到它修改的名字重新设置一次,还是不行。是不是收到app修改的名字要把他用snv读写来处理才能真正修改过来。

谢了。

祝好

Lincoln

  • advertData或者scanRspData设备名字,还有 GGS_SetParameter( GGS_DEVICE_NAME_ATT, sizeof ( attDeviceName ) , attDeviceName );这个设备名字也需要修改。

    全部修改过来才行

  • yan,你好,我的deviceName,advertData,与attDeviceName不一样。app里显示的是attDeviceName。因此我只更新了GS_SetParameter( GGS_DEVICE_NAME_ATT, sizeof ( attDeviceName ) , attDeviceName ),是不是不一样也要更新deviceName,advertData这两个。谢了。

    祝好

    lincoln

  • 林肯,

    正如weiwei 所说, 你两个都要改。

    advertData 只是改变了你的广播内容。

  • 好的,谢谢weiwei,谢谢yan。我一直对uuid读写属性,_WriteAttrCB,_ReadAttrCB有写困惑,想仔细理一下:

    1)在从机这边定义uuid的属性读写,是否都是针对主机的,还是从机本身自己有读写操作。因为从机对主机读写是r/notify。

    2)主机对从机读。是否从机一定要notify,还是可以不做?

    3)主机对从机写,从机是通过回调_WriteAttrCB相应,是否意思就是从机可以在_writeAttrCB拦截到数据并把它取出来。

    4)主机对从机读。从机是通过回调_ReadAttrCB相应,是否意思就是主机可以在_ReadAttrCB拦截到数据并把它取出来。

    我现在老出现这种情况:(主机)app那边给从机写数据,从机这边我存起来,用lightblue看还是老的,没有更新。怎么才能看到更新的值。A

    看到程序中好象有ChangeCB,_appCBs回到更新值,但吃不准怎么用。

    谢了。

    祝好

    lincoln

  • 1 UUID里面的属性值 就是用来作数据交换的,针对自己而言 这个没有什么意义吧

    2) indicate  也可以 ,什么都不做 也可以的 ,那就是主机乱使能一个通知 试试就知道了。如果有通知功能的属性  ,好像 我们上层阻止不了数据传递。

    3)是这样的啊  回调函数嘛  就干这个的

    4)static void simpleBLECentralProcessGATTMsg( gattMsgEvent_t *pMsg )  更新的数据 就会触发 这个函数 里的事件  在这里 处理下 新直就行了

  • yan:

         你好 ,我现在在做更新devicename,遇到了一些问题。

         我用的是cc2540,手机端调试用的是lightblue。

    我的过程是这样的 :通过lightblue将新的设备名字下发,设备收到后首先将新的名字存到flash中,然后更新值scanRspData和attDeviceName这两个数组里面值,最后调用GGS_SetParameter( GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN, attDeviceName );和

     GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, 26, scanRspData );这两个函数更新名字。

    我想实现的是lightblue发送数据之后,设备名字得到更改。断开连接之后,重新扫描的时候应该localname和devicename都得到更新。

    但现在的情况是这样的:

    1.lightblue数据下发之后,断开连接,设备不重启,刷新lightblue的设备列表,localname和devicename都未得到更新。

    2..lightblue数据下发之后,断开连接,重启设备,刷新lightblue的设备列表,localname得到更新,devicename未得到更新。

    3..lightblue数据下发之后,断开连接,设备不重启,再次连接设备,然后断开连接,重新刷新lightblue的设备列表,localname和devicename都得到更新。

    请问问题出在什么地方?是cc2540的代码有问题 还是lightblue本身存在问题?

  • zhao,

    CC2540 代码应该不会有问题。

    请确保你用的是最新的1.4版本协议栈,然后用Device Monitor 试试看修改会不会成功。

  • zhao jia,

    你好,我现在遇到和你同样的问题,请问你解决这个问题了吗?

  • 好像是手机端会有缓存, 要重新连接上之后才会更新。

  • 那你,现在是没有修改吗?还是APP端做了修改?

    这个问题目前还没有解决吗?