器件型号:CC2652P-4
工具与软件:
大家好!
我是 TI 蓝牙的初学者。
目前、我第一次尝试使用 TI 的芯片来处理 BLE 相关项目。
关于多角色项目的信息有限。 因此、我想提出几个问题。
我有两个多角色器件、其中删除了双按钮菜单。
我将使用来自主机的命令来控制 CC2652P-4、以启用或禁用 BLE 广播或发送 GATT 读取/写入命令。
目前、我的设计只允许一个连接、在multi_role_doConnect触发时、它始终连接到第一个发现的器件。
1.如何使用multi_role_doGattRead和发送或接收multi_role_doGattWrite?
例如、类似于"1234567890abcdefghijklmnopqrstuvwxyz"的字符串。
我是否必须将其拆分为块、例如0x01、0x02?
在该示例中、有5组 UUID 可用于读取和写入。
如何控制multi_role_doGattWrite写入哪个 UUID?
bool multi_role_doGattWrite(uint8_t index)
{
status_t status;
uint8_t charVals[4] = { 0x00, 0x55, 0xAA, 0xFF }; // Should be consistent with
// those in scMenuGattWrite
attWriteReq_t req;
req.pValue = GATT_bm_alloc(mrConnHandle, ATT_WRITE_REQ, 1, NULL);
if ( req.pValue != NULL )
{
uint8_t connIndex = multi_role_getConnIndex(mrConnHandle);
// connIndex cannot be equal to or greater than MAX_NUM_BLE_CONNS
MULTIROLE_ASSERT(connIndex < MAX_NUM_BLE_CONNS);
req.handle = connList[connIndex].charHandle;
req.len = 1;
charVal = charVals[index];
req.pValue[0] = charVal;
req.sig = 0;
req.cmd = 0;
status = GATT_WriteCharValue(mrConnHandle, &req, selfEntity);
if ( status != SUCCESS )
{
GATT_bm_free((gattMsg_t *)&req, ATT_WRITE_REQ);
}
}
return (true);
}
此致、
新手