微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 主设备发送连接请求的时候,连接参数是在哪里设置?

主设备发送连接请求的时候,连接参数是在哪里设置?

时间:10-02 整理:3721RD 点击:

大家好!

            我对关于主从设备连接这块有点疑惑,我看了一下1.4.1协议栈里面的central里面按键中间对建立连接是使用这个函数

            GAPCentralRole_EstablishLink( DEFAULT_LINK_HIGH_DUTY_CYCLE,DEFAULT_LINK_WHITE_LIST,addrType, peerAddr );

            了解了一下 gapEstLinkReq_t 这个变量

typedef struct
{
uint8 taskID; //!< Requesting App/Profile's Task ID
uint8 highDutyCycle; //!< TRUE to high duty cycle scan, FALSE if not.
uint8 whiteList; //!< Determines use of the white list: @ref GAP_WHITELIST_DEFINES
uint8 addrTypePeer; //!< Address type of the advertiser: @ref GAP_ADDR_TYPE_DEFINES
uint8 peerAddr[B_ADDR_LEN]; //!< Advertiser's address
} gapEstLinkReq_t;

可是这里面并不包含连接参数的内容呀?

/**
* GAP_LINK_ESTABLISHED_EVENT message format. This message is sent to the app
* when the link request is complete.<BR>
* <BR>
* For an Observer, this message is sent to complete the Establish Link Request.<BR>
* For a Peripheral, this message is sent to indicate that a link has been created.
*/
typedef struct
{
osal_event_hdr_t hdr; //!< GAP_MSG_EVENT and status
uint8 opcode; //!< GAP_LINK_ESTABLISHED_EVENT
uint8 devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES
uint8 devAddr[B_ADDR_LEN]; //!< Device address of link
uint16 connectionHandle; //!< Connection Handle from controller used to ref the device
uint16 connInterval; //!< Connection Interval
uint16 connLatency; //!< Conenction Latency
uint16 connTimeout; //!< Connection Timeout
uint8 clockAccuracy; //!< Clock Accuracy
} gapEstLinkReqEvent_t;

这个变量应该是涉及到连接参数的,可是从工程里面并没有看到有关的设置和操作?

1. 请问一下,要建立连接的话,主设备这边主要做哪些步骤?主设备连接请求里的连接参数是如何发出的? 希望可以指导一下

2. 关于主设备连接参数的默认设置,我其实不太愿意在连接成功之后早连接更新这个操作?

    是不是可以在SimpleBLECentral_Init里面,使用GAP_SetParamValue函数对TGAP_CONN_EST_INT_MIN、TGAP_CONN_EST_INT_MAX、TGAP_CONN_EST_SUPERV_TIMEOUT、TGAP_CONN_EST_LATENCY这几个参数进行操作?

3. TI是否有相关的例程呀? 希望大哥大姐可以给予帮助,举个例子啥的?

谢谢!

我抓包的时候看到一个ADV_CONNECT_REQ 应该是连接请求吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top