WCH沁恒单片机
直播中

张生

10年用户 929经验值
擅长:光电显示 接口/总线/驱动
私信 关注
[问答]

CH573做主机连接上从设备后,无法获取属性怎么处理?

我现在是用573做主机,与别的从机连接时遇到的问题
1、调用查找主服务UUID句柄GATT_DiscPrimaryServiceByUUID,经常会没有收到任何回调,好像没找到这个服务一样,导致不能继续查找子服务UUID

2、有时候有回调后,查找子服务UUID时,使用GATT_ReadUsingCharUUID查找,会返回错误码0x02,我查看好像是无法读取属性,用GATT_DiscCharsByUUID才行,我在网上看,用这个是要将句柄+1使用?


3、查找到UUID,可以进行发送时,使用GATT_WriteLongCharDesc 这个函数发送,一直会返回
pMsg->method=1
pMsg->msg.errorRsp.reqOpcode = 0x18
Write Error: 0x0d
这个是什么问题呢?
4、有时候连接一段时间后,RSSI值,会变成RSSI:-0dB

5、主机和设备连接一段时间,会自动断开,然后又重连,设备和手机连接时,是不会断开的,这个是什么问题?

  
  

回帖(3)

刘思思

2022-7-25 09:57:38
我现在是用573做主机,与别的从机连接时遇到的问题
1、调用查找主服务UUID句柄GATT_DiscPrimaryServiceByUUID,经常会没有收到任何回调,好像没找到这个服务一样,导致不能继续查找子服务UUID

2、有时候有回调后,查找子服务UUID时,使用GATT_ReadUsingCharUUID查找,会返回错误码0x02,我查看好像是无法读取属性,用GATT_DiscCharsByUUID才行,我在网上看,用这个是要将句柄+1使用?


3、查找到UUID,可以进行发送时,使用GATT_WriteLongCharDesc 这个函数发送,一直会返回
pMsg->method=1
pMsg->msg.errorRsp.reqOpcode = 0x18
Write Error: 0x0d
这个是什么问题呢?
4、有时候连接一段时间后,RSSI值,会变成RSSI:-0dB

5、主机和设备连接一段时间,会自动断开,然后又重连,设备和手机连接时,是不会断开的,这个是什么问题?

  
  
举报

陈珂瑾

2022-7-25 09:57:46
这两个地方是改过来的,SIMPLEPROFILE_CHAR1_UUID这里,我用的是2AA2,他也不是每次都不进入查找子服务UUID,不过是经常出现没有回调的情况

举报

李凤津

2022-7-25 09:57:51
如果使用的是GATT_ReadUsingCharUUID方式获取,那么需要传入SIMPLEPROFILE_CHAR1_UUID修改为2AA3,如果流程有问题的话建议使用最新的例程,只改两处的uuid试试,正常而言流程是不会有问题的,一般都是uuid有误有些if判断没过。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分