完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用标题的函数后如果成功后,会发出一个消息:ATT_READ_BY_GRP_TYPE_RSP
static void simpleBLEGATTDiscoveryEvent( gattMsgEvent_t *pMsg )在处理函数中 pMsg中的内容: attReadByGrpTypeRsp_t readByGrpTypeRsp; //!< ATT Read By Group Type Response typedef struct [ uint8 numGrps; //!< Number of attribute handle, end group handle and value sets found uint8 len; //!< Length of each attribute handle, end group handle and value set uint8 dataList[ATT_MTU_SIZE-2]; //!< List of 1 or more attribute handle, end group handle and value ] attReadByGrpTypeRsp_t; numGrps是搜索到的Services组数 len为下面dataList的长度 但是,在simplecenter中 搜索到的num为3 len为6 dataList内容为 : 01,00,0B,00,00,18 不知道这些数据怎么理解。。是不是扫描过程中出错了。因为我center跟peripheral连接的。如果是handle 值肯定不对吧。 我就是想找到所有服务的handle |
|
相关推荐
4 个讨论
|
|
史蒂文,
首先,dataList 的内容应该有21个字节。。。你不能把后面的内容给省略掉,也贴出来看看? 另外,这个len,不是dataList 的长度,是表示每个Group 内容的长度。。。你这里总共有3个group,每个group 内容长度为6,所以,dataList 除了这6个字节,后面应该还有有效数据呢。 我来给你解释一下 这六个字节的意思吧,后面的两对,你应该自己也能看懂了: 01,00,0B,00,00,18, 首先,01,00 这一对,代表这个group 的开始attribute handle, 倒过来看,就是0x0001, 其次,0B,00 这一对,代表这个group 的结束attribute handle, 倒过来看,就是0x000B, 最后,00, 18 这一对,代表着这个group的service UUID,再倒过来看,就是0x1800, 这个是Generic Access Profile,就是GAP 的service 的UUID。 很清楚吧? 后面其他两个,也这么去看,这里dataList总共有效数据18个字节。 |
|
|
|
|
|
骑猪去天山 发表于 2019-11-11 11:35 GATT_DiscAllPrimaryServices ( uint16 connHandle, uint8 taskId ) discover all the primary services on a server.发现服务器上所有的主服务 得到数据3 x 6 = 18 0001--000B,1800(GAP_SERVICE_UUID) 000C -- 000F, 1801(GATT_SERVICE_UUID) 0010--0022,180A(DEVINFO_SERV_UUID) SimpleBLEPeripheral Application: Attribute Table(cc2540 user guide P16) 固定的服务 1、自定义的#define SIMPLEPROFILE_SERV_UUID 0xFFF0怎么没有在那些Group里面 ?那要如何得到? 2、获取AllService的uuid限制在3个? 3、目的:在不知道自定义Characteristic的UUID情况下 获取自定义Characteristic的UUID。 4、通过获取DiscAllPrimaryServices的内容,感觉一般好像用不上啊。属性都是只读的。 |
|
|
|
|
|
史蒂文, 1, 必须可以查到,只是你还没查到而已。 2. 因为呢,BLE 包的大小限制,一次最多只能发20个字节的数据,所以接下来的其他service,会再通过read请求进行回复。 3. 这个,得从应用上解决了。告诉你个窍门,我自己平常在用的一个技巧,你可以试一下命令GATT_DiscAllCharDescs() 这个接口,这个能自动把所有service 查找完,应该能发现你要的UUID。通常方法的话,你的在每次GATT_DiscAllPrimaryServices() 收到回复之后,根据得到的最后一个Handle,再继续查找后续的内容。 4. 属性,是你自己设定的:)当然,有些系统的profile和service的属性,已经定义好了,你没法改。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
677 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
599 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1052 浏览 1 评论
736 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
523 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
160浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
124浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
125浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
122浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
167浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 03:23 , Processed in 1.691363 second(s), Total 58, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号