static char BLE_SEND_BUF[30] = {0};
static void BLE_SEND_DAT(const char *buf,u32 len)
{
//设置为写
centralDoWrite = 1;
tmos_memset(BLE_SEND_BUF,0,30);
tmos_memcpy(BLE_SEND_BUF,buf,len);
//tmos_start_task( centralTaskId, START_READ_OR_WRITE_EVT, DEFAULT_READ_OR_WRITE_DELAY);
if( centralProcedureInProgress == FALSE )
{
//if( centralDoWrite )
{
// Do a write
attWriteReq_t req;
req.cmd = FALSE;
req.sig = FALSE;
req.handle = centralCharHdl;
req.len = 25;
req.pValue = GATT_bm_alloc(centralConnHandle,ATT_WRITE_REQ,req.len,NULL,0);
if ( req.pValue != NULL )
{
//*req.pValue = centralCharVal;
tmos_memcpy(req.pValue,BLE_SEND_BUF,req.len);
if( GATT_WriteCharValue(centralConnHandle,&req,centralTaskId) == SUCCESS )
{
centralProcedureInProgress = TRUE;
//centralDoWrite = !centralDoWrite;
//tmos_start_task( centralTaskId, START_READ_OR_WRITE_EVT, DEFAULT_READ_OR_WRITE_DELAY);
}
else
{
GATT_bm_free((gattMsg_t *)&req, ATT_WRITE_REQ);
}
}
}
}
}
这是我自己写的主机发送的函数,我发现把它注释了就没有问题,不知道这个函数哪里有问题,还请指教
|