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

#cc2640r2f 蓝牙异常断开

SDK  4.20  例程 simple_periphal 修改的;

你好我使用例程修改自己的项目,在static void SimplePeripheral_processCharValueChangeEvt(uint8_t paramI)函数中做了比较多的数据处理;
同时还有一个100ms的notfy广播,出现的蓝牙异常断开,我猜想可能是数据接收过程中处理的耗时比较久;

不知道在接收过程中的处理数据最长耗时应该多少,每个周期函数应该最长耗时多少:

我在修改例程的间隔设置为如下:

// Address mode of the local device
// Note: When using the DEFAULT_ADDRESS_MODE as ADDRMODE_RANDOM or 
// ADDRMODE_RP_WITH_RANDOM_ID, GAP_DeviceInit() should be called with 
// it's last parameter set to a static random address
#define DEFAULT_ADDRESS_MODE ADDRMODE_PUBLIC

// General discoverable mode: advertise indefinitely
#define DEFAULT_DISCOVERABLE_MODE GAP_ADTYPE_FLAGS_GENERAL

// Minimum connection interval (units of 1.25ms, 80=100ms) for parameter update request
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 80

// Maximum connection interval (units of 1.25ms, 104=130ms) for parameter update request
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 104

// Slave latency to use for parameter update request
#define DEFAULT_DESIRED_SLAVE_LATENCY 5

// Supervision timeout value (units of 10ms, 300=3s) for parameter update request
#define DEFAULT_DESIRED_CONN_TIMEOUT 724

异常断块好像好一点了,主要修改了 DEFAULT_DESIRED_SLAVE_LATENCY  和 DEFAULT_DESIRED_CONN_TIMEOUT :,不知道我这样的修改正不正确;

还有,资料说 DEFAULT_DESIRED_CONN_TIMEOUT>(DEFAULT_DESIRED_SLAVE_LATENCY+1)*时间间隔;
这里的时间间隔是不是最大时间间隔,还有这里的DEFAULT_DESIRED_SLAVE_LATENCY是里面的值带入计算,还是具体时间带入计算;

最好有蓝牙异常断开的处理方法相关的资料,谢谢

Viki Shi:

加大连接间隔试试。DEFAULT_DESIRED_CONN_TIMEOUT>(DEFAULT_DESIRED_SLAVE_LATENCY+1)*时间间隔;
这里的“时间间隔”是最大连接间隔,一般连接间隔是一个区间,RF CORE会根据具体情况选择区间内的值
DEFAULT_DESIRED_SLAVE_LATENCY是一个值

Kevin Qiu1:

看下这里关于连接参数的说明:e2echina.ti.com/…/190595
也可以看下这里:dev.ti.com/…/node

赞(0)
未经允许不得转载:TI中文支持网 » #cc2640r2f 蓝牙异常断开
分享到: 更多 (0)