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 );
请问这个问题的原因是上位机还是下位机,如何解决?
谢谢,急求急求。
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