This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

#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是里面的值带入计算,还是具体时间带入计算;

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