调用GATT_WriteNoRsp函数返回0x02无效句柄或字段,使用的是CC2540和1.3.2协议栈版本
Viki Shi:
建议使用最新协议栈测试
user4886163:
回复 Viki Shi:
好的我试一下 最新的是BLE-CC254x-1.4.2.2这个协议栈吗
Viki Shi:
回复 user4886163:
是的,官网直接下。1.3.2版本已经蛮旧了
Susan Yang:
请问您是如何调用的?
GATT_WriteNoRsp requires that req.sig = FALSE and req.cmd = TRUE. This is why you are receiving invalid parameter.
user4886163:
回复 Susan Yang:
您好,我给您看一下我这里的调用
void CentralToPeripheral(uint8 *pBuffer,uint8 length)
{bStatus_t sendstate;uint8 buf_num_now;attWriteReq_t req;req.handle = BLECharHdl;req.len = 20;req.sig = 0;req.cmd = 0;for(buf_num_now = 0;buf_num_now<2;buf_num_now++){req.value[0] = buf_num_now+1;req.value[1] = 2;//分为两包osal_memcpy(&req.value[2],&pBuffer[buf_num_now*18],18);uart1_printf("发送次数[%d]\r\n",req.value[0]);uart1_print_buffer(req.value,20);sendstate = GATT_WriteNoRsp(GAP_CONNHANDLE_INIT, &req);//GATT_WriteCharValue( 0, &req, BLETaskId );delay_ms(200);uart1_printf("返回发送状态[%d]\r\n",sendstate);
}}
user4886163:
回复 Viki Shi:
您好 我将蓝牙主机的更改成1-4-2协议栈,从机的还是1-3-2的协议栈,我主机调用GATT_WriteNoRsp这个函数返回值还是为0x02,
bo wu:
回复 user4886163:
我也碰到这个问题,用GATT_WriteCharValue没有问题,用GATT_WriteNoRsp就返回0x02,请问您解决了吗 这个问题?