微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 蓝牙连接问题

蓝牙连接问题

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

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

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

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

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

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

在线等回复,谢谢!

yongcai,

你是用simpleBLECentral和SmipleBLEPeripheral吗?

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

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

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

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

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 应该是多少呢?

dear Y大神:

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

谢谢!

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

网站地图

Top