TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640R2F 主机向从机怎么发送数据

CC2640R2F 主机怎么向从机发送数据 , 有函数接口吗?

我用下面的程序发送数据, 很容易出现发送失败. 这个程序发送数据有时间间隔要求吗?

attWriteReq_t att;
att.pValue = GATT_bm_alloc(charHdl, ATT_WRITE_REQ, sendstrlen[sendcount % MAXSENDSIZE], NULL); if(att.pValue != NULL)
{
att.handle = charHdl;
att.len = sendstrlen[sendcount % MAXSENDSIZE];
osal_memcpy(att.pValue, sendstr[sendcount % MAXSENDSIZE], sendstrlen[sendcount % MAXSENDSIZE]);
att.sig = 0;
att.cmd = 0;

if(GATT_WriteCharValue(connHandle, &att, selfEntity) == SUCCESS)
{
#ifdef USER_DEBUGUART
UART_Send(sendstr[sendcount % MAXSENDSIZE], sendstrlen[sendcount % MAXSENDSIZE]);
#endif
DeleteSendString();
}
else
{
GATT_bm_free((gattMsg_t *)&att, ATT_WRITE_REQ);
}
}

Viki Shi:

卡在哪一步?内存分配是否成功?

WK C:

回复 Viki Shi:

内存分配成功, GATT_WriteCharValue()返回错误码是0x16

Alvin Chen:

回复 WK C:

#define blePending0x16//!< Waiting
加大你的发送间隔。或者减小你的连接间隔。

WK C:

回复 Alvin Chen:

GATT_WriteCharValue()和GATT_WriteNoRsp()这两个函数有什么区别, 我用GATT_WriteNoRsp()这个是可以发送成功数据

Alvin Chen:

回复 WK C:

GATT_WriteCharValue需要等待response

GATT_WriteNoRsp不需要。
你有没有按照我的建议去做修改呢。我相信你减小连接间隔会有所改善。

WK C:

回复 Alvin Chen:

我将连接间隔由100ms减小到20ms, 发送数据还是会出现GATT_WriteCharValue 0x16的错误码

Alvin Chen:

回复 WK C:

你发送间隔是多少?

WK C:

回复 Alvin Chen:

现在设置最小发送间隔是30ms

Alvin Chen:

回复 WK C:

你的发送间隔最好大于两个连接间隔。

WK C:

回复 Alvin Chen:

发送间隔大于的是最大连接间隔还是最小连接间隔 , 这个文档在哪里看

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F 主机向从机怎么发送数据
分享到: 更多 (0)