hi 各位:
cc2540 从机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
信驰达 手机demo uuid如下
#define SIMPLEPROFILE_send_SERV_UUID 0xFFe0
#define SIMPLEPROFILE_CHAR1_UUID 0xFFe1
#define SIMPLEPROFILE_CHAR2_UUID 0xFFe2
#define SIMPLEPROFILE_CHAR3_UUID 0xFFe3
#define SIMPLEPROFILE_CHAR4_UUID 0xFFe4
#define SIMPLEPROFILE_READ_SERV_UUID 0xFFE5
#define SIMPLEPROFILE_CHAR6_UUID 0xFFE6
#define SIMPLEPROFILE_CHAR7_UUID 0xFFE7
#define SIMPLEPROFILE_CHAR8_UUID 0xFFE8
#define SIMPLEPROFILE_CHAR9_UUID 0xFFE9
我将从机uuid修改成和信驰达一样的uuid
在static gattAttribute_t simpleProfileAttrTbl[SERVAPP_NUM_ATTR_SUPPORTED] 中将新增的uuid设置 读写功能。
目前效果:手机可以正常连接,discover 和特征值获取都正常,问题:cc2540从机无法触发simpleProfile_WriteAttrCB读取数据。cc2540通过notify发送数据,手机也无法读取?
Yan:
hi T_MAC,
你的意思是手机那边发起写请求, cc2540这边无法触发 simpleProfile_WriteAttrCB()?
手机那边发的是怎么样的write 命令呢?
有抓包的截图吗?
T_MAC:
回复 Yan:
截图是没有,不过用信驰达模块时,相同手机app可以正常收发。
请问如何设置两个服务UUID,数组
static gattAttribute_t simpleProfileAttrTbl[SERVAPP_NUM_ATTR_SUPPORTED] 如何写?
如果手机app有发送数据,但是simpleProfile_WriteAttrCB()不触发接收,会有什么东西造成的?
T_MAC:
回复 T_MAC:
HI YAN:
问题找到了,
主机接收服务
// Simple Profile Service
{ { ATT_BT_UUID_SIZE, primaryServiceUUID }, /* type */
GATT_PERMIT_READ, /* permissions */ 0, /* handle */
(uint8 *)&simpleProfileService /* pValue */ },
主机发送服务
// Simple Profile Service
{ { ATT_BT_UUID_SIZE, second××××ServiceUUID }, /* type */
GATT_PERMIT_READ, /* permissions */ 0, /* handle */
(uint8 *)&simpleProfileService /* pValue */ },
我之前把主机发送服务 设置成GATT_PERMIT_WRITE。
不过这个是不是根源问题不知道,只是现在可以正常收发数据量