TI中文支持网
TI专业的中文技术问题搜集分享网站

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

hi 各位:

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

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

Yan:

Hi T_MAC,

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

T_MAC:

回复 Yan:

hi yan:

我试试

T_MAC:

回复 T_MAC:

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应答什么的?

T_MAC:

回复 T_MAC:

HI

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

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

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

赞(0)
未经允许不得转载:TI中文支持网 » cc2540 从机发送,手机notify接收被触发多次
分享到: 更多 (0)