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

蓝牙分包问题:第一包发送成功,第二包发送之后函数返回状态为blePending该怎么解决

第一包发送成功,第二包发送之后函数返回状态为blePending该怎么解决,谢谢大家,帮我指导一下

Viki Shi:

请提供使用的芯片型号以及协议栈版本

user4886163:

回复 Viki Shi:

您好,我用的是CC2540,协议栈版本BLE-CC254x-1.3.2

Viki Shi:

回复 user4886163:

请下载最新版协议栈,并根据以下链接的指示操作:
e2e.ti.com/…/646145

user4886163:

回复 Viki Shi:

您好,我的蓝牙主机使用GATT_WriteCharValue这个函数发送数据,第一次发送20个字节并且发送成功,第二次则发送返回blePending,第二包数据怎样才能发送成功呢,谢谢

Viki Shi:

回复 user4886163:

怀疑是操作频繁导致事件未完成。请试一下:
1、加大发送间隔
2、抓包看下双方的数据交互

user4886163:

回复 Viki Shi:

您好,不好意思,我想问一下,发送间隔怎么修改,是增加延时吗

Susan Yang:

这个 response通常是指还没有收到client的响应.

在indication 没有收到确认时您需要等待确认,如果在ATT_MSG_TIMEOUT ms (set to 30 by default in att.h)内没有收到response就会产生类似的错误。请问您现在的发送间隔大约是多少?

user4886163:

回复 Susan Yang:

您好,下面的参数是主机和从机的参数,您帮我看看有没有什么问题,这些参数我怎么清楚修改
主机:
#define DEFAULT_UPDATE_MIN_CONN_INTERVAL400

// Maximum connection interval (units of 1.25ms) if automatic parameter update request is enabled
#define DEFAULT_UPDATE_MAX_CONN_INTERVAL800

// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_UPDATE_SLAVE_LATENCY0

// Supervision timeout value (units of 10ms) if automatic parameter update request is enabled
#define DEFAULT_UPDATE_CONN_TIMEOUT600
从机:
// Minimum connection interval (units of 1.25ms, 80=100ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL20

// Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL20

// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_DESIRED_SLAVE_LATENCY0

// Supervision timeout value (units of 10ms, 1000=10s) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_CONN_TIMEOUT500

赞(0)
未经允许不得转载:TI中文支持网 » 蓝牙分包问题:第一包发送成功,第二包发送之后函数返回状态为blePending该怎么解决
分享到: 更多 (0)