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.

cc2540 从机发送,手机notify接收被触发多次

Other Parts Discussed in Thread: CC2540

hi 各位:

 我用cc2540 从机代码,稍微修改了一下使用gatt_notification发送数据。

当我按下按键,发送一帧数据(gatt_notification发送),在手机(三星gs3)端接收notify回调触发3次左右,请问这问题可能出现在哪?

  • Hi T_MAC,

    你可以先用SmartRF Packet Sniffer 抓空中的包看一下 你的 notification 是否是被发送了三次, 如果只有一次, 再检查一下GS3 里面的代码是怎么接受notify 的.

  • hi yan:

    我试试

  • hi yan :

    我抓包调查过,从机只发送了一次,安卓手机却触发N多次的notify 读取数据。

    之前用信驰达模块 ,手机UUID设置如下:

    #define SIMPLEPROFILE_CHAR1_UUID            0xFFE1

    #define SIMPLEPROFILE_CHAR2_UUID            0xFFE2

    #define SIMPLEPROFILE_CHAR3_UUID            0xFFE3

    #define SIMPLEPROFILE_CHAR4_UUID            0xFFE4

    #define SIMPLEPROFILE_CHAR5_UUID            0xFFE5

     

    可以正常收发数据,而且手机端notify不会被触发多次。

    现在使用TI 从机demo。

    手机UUID设置和从机一样:

    #define SIMPLEPROFILE_SERV_UUID               0xFFF0

    #define SIMPLEPROFILE_CHAR1_UUID            0xFFF1

    #define SIMPLEPROFILE_CHAR2_UUID            0xFFF2

    #define SIMPLEPROFILE_CHAR3_UUID            0xFFF3

    #define SIMPLEPROFILE_CHAR4_UUID            0xFFF4

    #define SIMPLEPROFILE_CHAR5_UUID            0xFFF5

    手机notify就会被触发多次,但是抓包出来看,不是从机发送多次导致的。 现在我不懂了,是不是有什么设置notify 重发机制,还是ACK应答什么的?

  • HI

    问题解决了,不过根源问题还不清楚。

    之前主从机只使用1个服务UUID,可能导致手机 发送时触发自己notify接收导致一个循环接收发送。

    现在主从机使用两个服务UUID,手机就不会导致notify误触发。