主题中讨论的其他器件:SysConfig
工具与软件:
我修改了 Simple_Central 和 Simple_Peripheral 示例以接收/发送通知。 连接成功后、中央设备以100ms 的固定间隔接收通知、但在6秒后 处理 GAP_LINK_PARAM_UPDATE_EVENT、它会显示:
已更新:0xCC037B3D944E、连接超时:6000、连接间隔:800
从那里收到通知的间隔为1秒(800*1.25=1000 )。
我已使用 syscfg 修改了这两个器件的设置以将连接间隔缩短到200ms、它会反映在 ti_ble_config.h 中:
//初始方 PHY 参数
//默认要启动的 PHY
#define DEFAULT_INIT_PHY INIT_PHY_1M
//默认扫描间隔(以0.625ms 为单位)
#define INIT_PHYPARAM_SCAN_INT 16
//默认扫描窗口(以0.625ms 为单位)
#define INIT_PHYPARAM_SCAN_WIN 16.
//默认最小连接间隔(以1.25ms 为单位)
#define INIT_PHYPARAM_MIN_CONN_INT 80
//默认最大连接间隔(以1.25ms 为单位)
#define INIT_PHYPARAM_MAX_CONN_INT 80
//默认连接延迟
#define INIT_PHYPARAM_CONN_LAT 0
//默认监控超时(以10ms 为单位)
#define INIT_PHYPARAM_SUP_TO 2000
//默认 RSSI 轮询周期(以 ms 为单位)
#define DEFAULT_RSSI_PERIOD 3000
//如果自动更新参数、则最小连接间隔(单位为1.25ms)
//请求已启用
#define DEFAULT_UPDATE_MIN_CONN_INTERVAL 160
//如果参数自动更新、则最大连接间隔(单位为1.25ms)
//请求已启用
#define DEFAULT_UPDATE_MAX_CONN_INTERVAL 160
//启用自动参数更新请求时要使用的外设延迟
#define DEFAULT_UPDATE_PERIPHERAL_LATENCY 0
//如果自动更新参数、则监控超时值(单位为10ms)
//请求已启用
#define DEFAULT_UPDATE_CONN_TIMEOUT 3200
但应用程序会忽略它:此外,更改后的连接超时也不会更改。
那么、我如何更改连接间隔?
谢谢!
Dalibor