cc2640的主机与从机的连接参数更新都为FALSE,我看别人的帖子说此时主从连接时用的是主机的连接参数,那么我想请问一下主机的默认连接参数是多少?是在哪个文件里面?
另外:主机、从机都#define DEFAULT_ENABLE_UPDATE_REQUEST FALSE情况下,主机与从机连接成功之后,我手动关闭从机,主机要等待大约20s
才能知道连接断开,断开的原因是:0x08----连接超时。请问这个20s的时间是在哪里设置的?
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.
连接参数的话,您可以在simple_central.c文件内进行设置。
关闭从机的话,您可以调用GAPRole_TerminateConnection();
需要说明的是:
主从机连接时,首先使用的是主机端默认的连接参数。
1)如果从机端禁止参数更新,则之后的通信都将使用主机端默认的连接参数。
2)如果从机端允许参数更新,则在主从机连接后的几秒内,从机会向主机端发送连接参数更新请求。
如果从机的连接参数符合主机端的连接标准,则更新参数;
如果从机的连接参数不符合主机端的连接标准,则不更新参数。
而且这些连接参数都是在底层被调用的,用户无法看到。但若是您需要更新连接参数的话,主机端直接更新参数使用函数GAPCentralRole_UpdateLink,从机端使用GAPRole_SendUpdateParam。
另外您可以看一下
// Connection Pause Peripheral time value (in seconds) #define DEFAULT_CONN_PAUSE_PERIPHERAL 6 //有时当CC2541断开连接时,主机端过几秒才会断开,此时将此数值改小可让主机快速发现断开连接
苹果对connection interval的要求, 还有其他的连接参数要求, 比如slave latency, supervision timeout, 如果不满足这些, IOS设备会拒绝.
The connection parameter request may be rejected if it does not comply with all of these rules:
Interval Max * (Slave Latency + 1) ≤ 2 seconds
Interval Min ≥ 20 ms
Interval Min + 20 ms ≤ Interval Max
Slave Latency ≤ 4
connSupervisionTimeout ≤ 6 seconds
Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout