第一包发送成功,第二包发送之后函数返回状态为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