TI中文支持网
TI专业的中文技术问题搜集分享网站

蓝牙连接问题

各位大神,小弟我有些问题需要请教下

1、主从机连接后simpleBLECharHdl这个值一直为零,弄得我通信不了,是哪里问题呢?

2、从机使用的是特征值7为通知,那我在主机中使能通知的话在设置时的handle应该为多少呢

是handle= 0x0039么?(特征值7得句柄值为0x0038)

3、希望回复大神留下联系方式,以便今后即使沟通,谢谢!!

在线等回复,谢谢!!!

Yan:

yongcai,

你是用simpleBLECentral和SmipleBLEPeripheral吗?

特征值的handle其实未必是定死的。

最好的方法是遍历特征值并取得其handle。

如果你知道你自己定义的特征值7的UUID(你肯定知道),那么就可以通过这个特征值查找到相应的handle,而不是你自己去估计。你可以用这个API:GATT_DiscCharsByUUID(),在gatt.h里面。

yongcai zhang:

回复 Yan:

我是在读写数据的时候发现的

attWriteReq_t writeReq; writeReq.handle = simpleBLECharHdl; writeReq.len = SIMPLEPROFILE_CHAR6_LEN;writeReq.sig = 0; writeReq.cmd = 0; osal_memcpy(writeReq.value,ver_data,SIMPLEPROFILE_CHAR6_LEN); GATT_WriteCharValue( simpleBLEConnHandle, &writeReq, simpleBLETaskId );

发现这个simpleBLECharHdl为零,但是我已经发现设备了,为什么这个值会为零呢,他要是零的话我就没法读写数据了,这个东西困惑好久了,不知怎么解决哎,上面海催着要程序,弄得我  哎

以下为主机使能通知的程序

if(events & ENABLE_NOTICE_EVT ) //使能通知

{

writeReq.handle = 0x0039;//1C;

writeReq.len = 2; writeReq.value[0] = 0x01; writeReq.value[1] = 0x00; writeReq.sig = 0; writeReq.cmd = 0; GATT_WriteCharDesc( simpleBLEConnHandle, &writeReq, simpleBLETaskId );

其中writeReq.handle 怎么确定,我在从机中已经把特征值7作为notify形式了,这个writeReq.handle 应该是多少呢?

shuzhou wong:

回复 Yan:

dear Y大神:

         读取特征值1,需要使用GATT_ReadUsingCharUUID取得句柄以后,在用GATT_ReadCharValue取得特征值,还是直接用GATT_ReadCharValue获取特征值?

谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 蓝牙连接问题
分享到: 更多 (0)