TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2540 上位机连接事件周期

大家好,关于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 );

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

谢谢,急求急求。

shaokai Lin:

Hi Frank Fang1

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

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

user4019748:

回复 shaokai Lin:

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

shaokai Lin:

回复 user4019748:

Hi Frank Fang1

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

user4019748:

回复 shaokai Lin:

您好,谢谢您的指导。

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

谢谢。

shaokai Lin:

回复 user4019748:

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

赞(0)
未经允许不得转载:TI中文支持网 » CC2540 上位机连接事件周期
分享到: 更多 (0)