微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 其他特征值怎么用

其他特征值怎么用

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

我想直接用定义的其他特征值,找不到方法,是不是应用只能用特征值1,要使用其他的特征值就只能修改特征值1里面的设置吗?那位大侠能帮忙解决

goobegin,

你是说simpleBLEPeriaheral工程吗?

所有特征值都是可以用的。

请参考iOS上的multiTool 或者PC上的device monitor, 或者Android上的device motnitor 

yan

我用SimpleBLECentral和SimpleBLEPeripheral下载到两块开发板上面通信的,不知道怎么使用其他特征值

central的程序里,按键只对char1有效,这是例程里这么写的,就是一个例子而已。你可以在central中自行修改这部分的程序。

1

shen

你好,simpleBLECharHdl这个句柄在simpleBLECharHdl = BUILD_UINT16( pMsg->msg.readByTypeRsp.dataList[0],pMsg->msg.readByTypeRsp.dataList[1] );处获取值,具体怎么改呢?

你好,我替shen回答你第二个问题

你好,simpleBLECharHdl这个句柄在simpleBLECharHdl = BUILD_UINT16( pMsg->msg.readByTypeRsp.dataList[0],pMsg->msg.readByTypeRsp.dataList[1] );处获取值,具体怎么改呢?

在simpleBLECentral.c文件中找到simpleBLEGATTDiscoveryEvent函数,这是一个发现特征值的函数,仔细阅读。

和这个问题相关的一段:

if ( simpleBLESvcStartHdl != 0 )
{
// Discover characteristic
simpleBLEDiscState = BLE_DISC_STATE_CHAR;

req.startHandle = simpleBLESvcStartHdl;
req.endHandle = simpleBLESvcEndHdl;
req.type.len = ATT_BT_UUID_SIZE;
req.type.uuid[0] = LO_UINT16(SIMPLEPROFILE_CHAR1_UUID);
req.type.uuid[1] = HI_UINT16(SIMPLEPROFILE_CHAR1_UUID);

GATT_ReadUsingCharUUID( simpleBLEConnHandle, &req, simpleBLETaskId );
}

修改就可以了 ,与之对应的只有char1有读写权限,如果这个地方改掉之后,从机的特征值的读写权限要改成能读写才行。

hua 

谢谢你!我添加了一个可读写的 SIMPLEPROFILE_CHAR6_UUID,然后在simpleBLECentral里面修改了你说的地方,最后

在simpleBLEDoWrite里

req.handle = simpleBLECharHdl;

req.len = 5;

req.value[0] = 10;req.value[1] = 11;req.value[2] = 12;req.value[3] = 13;req.value[4] = 14;

req.sig = 0;

req.cmd = 0;

发出数据后出现Write Error 13 .这是怎么回事呢?

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

网站地图

Top