其他特征值怎么用
我想直接用定义的其他特征值,找不到方法,是不是应用只能用特征值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 .这是怎么回事呢?