微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > GATT_DiscPrimaryServiceByUUID( simpleBLEConnHandle, uuid, ATT_BT_UUID_SIZE,simpleBLETaskId );

GATT_DiscPrimaryServiceByUUID( simpleBLEConnHandle, uuid, ATT_BT_UUID_SIZE,simpleBLETaskId );

时间:10-02 整理:3721RD 点击:

    在simpleBLECentral例程中,在建立连接后调用simpleBLECentralStartDiscovery( void ),其中调用了 GATT_DiscPrimaryServiceByUUID( simpleBLEConnHandle, uuid,  ATT_BT_UUID_SIZE,simpleBLETaskId );来发现主服务UUID,但没有返回值,如何知道是否发现呢?接着需要发现指定的属性handle,我在simpleBLEGATTDiscoveryEvent()函数中做了串口标记,但似乎并没有出发这函数,请问是什么原因导致的?

yutou,

给的central示例代码,做了点小限制,你是可以修改的。

在 simpleBLECentralStartDiscovery() 函数里,做了 

uint8 uuid[ATT_BT_UUID_SIZE] = { LO_UINT16(SIMPLEPROFILE_SERV_UUID),
HI_UINT16(SIMPLEPROFILE_SERV_UUID) };

这个限制。

只能查找对应的simpleBLE service.

所以,你得修改一下这里,改成你想要的,或者是任意的。

   恩,但我现在用的就是SIMPLEPROFILE_SERV_UUID服务,在SIMPLEPROFILE里面新建了一个SIMPLEPROFILE_CHAR6_UUID,在simpleBLEGATTDiscoveryEvent( gattMsgEvent_t *pMsg )函数中更改如下:

req.type.uuid[0] = LO_UINT16(SIMPLEPROFILE_CHAR6_UUID);
req.type.uuid[1] = HI_UINT16(SIMPLEPROFILE_CHAR6_UUID);

simpleBLECharHd6 = BUILD_UINT16( pMsg->msg.readByTypeRsp.dataList[0],
pMsg->msg.readByTypeRsp.dataList[1] );

但在建立连接之后却未发现属性Handle,不知是否有遗漏之处?

yan

    改为SIMPLEPROFILE_CHAR1_UUID是可以了,新建特性值需要在什么地方更改属性吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top