问题:
添加了一个profile,在simpleProfile基础上改的在调试的时候,发现一个奇怪的问题,S4和华为,苹果都能正常连接,但是S3连接的时候,能连接上,不能控制。
找原因过程:
1.在安卓上用BLE调试助手看的时候,能建立连接,但是一直停留在发现sevice的状态。
2.用lightblue测试,能连接,能看到sevice。但是进入新增加的sevice时候发现最后一个characteristic后面的description后面跟了很多类似于uuid的字符串。
分析原因:
某个sevice不对,导致s3discovery sevice的时候发生问题,然后一直跳不过去。(但是为什么苹果手机不会?S4不会?)
查代码:
因为是仿照simpleProfile写的 ,simpleProfile有5个characteristic,而我新加的只有3个,在描述的时候,没有将此#define SERVAPP_NUM_ATTR_SUPPORTED 17宏定义改小,所以S3在读的时候找不到剩下的两个。
将#define SERVAPP_NUM_ATTR_SUPPORTED 17改小,问题解决。