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

CC2640,因链接间隔增大而丢包的问题

#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     400

#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     800

因通信数据不频繁及为了降低功耗,把链接间隔设为0.5~1秒间。测试时,发送频率大概在2~3秒/次,出现的丢包现象很严重,应该怎么解决此问题?谢谢!

da qin zheng sheng:

powersaving打开了不?仔细慢慢调节改变链接参数。

zha zhao:

回复 da qin zheng sheng:

powersaving打开了,如果在不改变链接参数的情况下,有什么机制能解决这个问题吗?

Yue TANG:

测一下晶振的频偏。如果是频偏过大,可以调整高速晶振两边的电容把频偏调小再测下试试。

zha zhao:

回复 Yue TANG:

有一个问题没有搞明白,如果把蓝牙的最小链接设为3秒,最大链接设为4秒,个人理解是在3~4秒间任意时候才会有蓝牙与蓝牙间的数据传输,不知道我的这种理解是否对?如果在2秒的时候收到串口数据,就是不在蓝牙与蓝牙的数据传输间收到串口数据,这个数据是立刻通过蓝牙发送出去(如果此时发送出去另一边的蓝牙肯定收不到)还是放在发送缓冲区,等待蓝牙与蓝牙的数据传输期间再发送?

Viki Shi:

回复 zha zhao:

1、连接间隔设置以最小设置为准

2、放在缓冲区,等蓝牙连接时再发送

zha zhao:

回复 Viki Shi:

既然是放缓冲区,最小链接是0.5秒,最大是1秒,每2秒只发送了一帧数据,为什么还会丢包呢?

Yue TANG:

回复 zha zhao:

抓下包,确认是否真的是包没发出来。为什么我提到频偏是因为,频偏太大是会出现丢包情况的。

http://processors.wiki.ti.com/index.php/BLE_sniffer_guide

kqian0327:

你好,

是不是蓝牙已经断开连接了?

latency是否为0还是为其他的值?

建议你还是抓包看一下。

赞(0)
未经允许不得转载:TI中文支持网 » CC2640,因链接间隔增大而丢包的问题
分享到: 更多 (0)