微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540 上位机连接事件周期

CC2540 上位机连接事件周期

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

大家好,关于CC2540下位机与手机APP连接参数设置,请教个问题。

下位机是CC2540,上位机是IOS6/7下的测试APP。下位机供电串联10欧姆,示波器抓波形测试。

发现每当APP连接下位机后,就一直处于30ms的连接事件中,无法更新连接参数设置。但是采用USB DONGLE,30ms的连接事件仅经过很短一段时间,就恢复到如下设置的1s。

下位机设置如下,上位机建立连接调用的函数是connectPeripheral。

// Minimum connection interval (units of 1.25ms, 800=1000ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 800

// Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 800

// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_DESIRED_SLAVE_LATENCY 0

// Supervision timeout value (units of 10ms, 1000=10s) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_CONN_TIMEOUT 1000

// Whether to enable automatic parameter update request when a connection is formed
#define DEFAULT_ENABLE_UPDATE_REQUEST TRUE

uint8 enable_update_request = DEFAULT_ENABLE_UPDATE_REQUEST;

GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enable_update_request );

请问这个问题的原因是上位机还是下位机,如何解决?

谢谢,急求急求。

Hi Frank Fang1

    正如你说的,cc2540与USBDongle连接时,连接间隔30ms只持续了一段时间便更新到1s——说明这里产生了连接参数更新事件。

    而与iphone app连接时一直是30ms的连接间隔,应该是你的手机App里没有产生连接参数更新造成的。

您好。谢谢指导。请问APP如何更新参数呢?在APP里找了很久,就调用了一个connectPeripheral函数,有其他的函数调用可以更新参数吗?谢谢。

Hi Frank Fang1

    我没做过IOS的app,不清楚调用哪个API。

您好,谢谢您的指导。

请问您有接触过SimpleBLE的例程吗?center如何更新peripheral发上来的连接参数的呢?

谢谢。

Hi Frank Fang1

    central可以调用这个函数产生连接参数更新事件:

bStatus_t GAPCentralRole_UpdateLink ( uint16  connHandle,
uint16  connIntervalMin,
uint16  connIntervalMax,
uint16  connLatency,
uint16  connTimeout  
)

函数的定义可以在这个路径找到API说明:

C:\Texas Instruments\BLE-CC254x-1.4.0\Documents/BLE_API_Guide_main.htm

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

网站地图

Top