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.

请教连接时间间隔的小问题

TI计术支持,你们好!

从资料中我了解到 Connection interval(连接时间间隔)的定义为:两次Connection event(连接事件)的时间间隔。

但是例程在初始化时调用了GAPRole_SetParameter(GAPROLE_MIN_CONN_INTERVAL,...)和

GAPRole_SetParameter( GAPROLE_MAX_CONN_INTERVAL,...)

我从字面的理解是:设置设备连接事件时间间隔的最小、最大值。

这里为什么会有最小和最大值的概念?连接时间间隔不是固定的吗?为何要设定最小最大值?

谢谢!

真情求解~

  • 这个是规定一个范围,大于80单位小于3200单位,实际赋值的时候可以设置一样的值

  • Thanks Viki

    再请教几点:

    1、为何要规定为一个范围呢?是为了建立连接时 与主机的参数 容易匹配吗?

    2、主机与从机连接后最终的连接间隔应该是由从机决定的吧?

        ——我已经使能了更新连接参数GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE,...)

    3、如果最终的连接间隔由从机决定,那么连接间隔为多少?

        ——我设置的最小连接间隔为40*1.25ms,最大连接间隔为800*1.25ms;

  • hi shaokai,

    1. 范围的目的是为了能让主机去选择一个主机认为合适的,如果你把min和max设置成相同的,那么主机就会只用你设定的这个值。如果是个范围的话,通常主机会选择接近max的值或者直接用max的值。

    2. 从机可以在建立连接之后要求主机再更新连接参数,只要连接建立了,随时可以再次更新连接参数。

    3. 如1, 通常主机会选择大的那个数字。

  • Very Thanks!Yan!

    对我很有帮助!

  • 你好,Yan:

    如果真正的连接间隔是是主机决定的,那么是在发起连接的函数中把这个连接间隔作为参数设定的吗?协议栈里怎么没有找到主机选择连接间隔的代码?这个参数是怎么传给从机的呢?谢谢!

  • 在初始化步骤中使用GAP_SetParamValue(,)函数API,可以在相关.h文件或者API文档中找到相关参数定义

    不过貌似有些没有,例如窗口和时钟精度,这一点能不能请社区给回答一下,是否这样?