You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows的C#程序中配置BLE非对称连接的RX/TX参数?

Windows BLE 非对称连接事件配置问题

我正在使用Windows.Devices.Bluetooth WinRT API,通过C#程序连接BLE设备。代码使用BluetoothLEAdvertisementWatcher进行扫描以验证设备是否在范围内,随后调用BluetoothLEDevice.FromBluetoothAddressAsync方法完成连接。

外设为STM32WB55,它会通过hci_le_set_data_length函数协商更大的MTU,请求外设到中心(peripheral->central)方向的MTU为251、传输时间为2120ms,并通过aci_l2cap_connection_parameter_update_req请求48.75ms的连接间隔和5000ms的超时时间。

由于中心设备向外设发送的数据极少,但需要接收大量来自外设的数据,因此设置非对称的连接事件阶段时长十分有利。实际测试显示,在Android平台使用"nRF Connect"应用连接时,最终协商的连接配置(从外设端查看)为:

nRF Connect

  • Interval: 48.75ms
  • Latency: 0
  • Timeout: 5000ms
  • TX Size: 251
  • TX Time: 2120ms
  • RX Size: 27
  • RX Time: 328ms
  • MTU: 251

该配置下外设可发送大量数据,仅需等待少量接收数据,完全符合需求。但在Windows 10和11系统中,最终的连接配置为:

Windows 10/11

  • Interval: 48.75ms
  • Latency: 0
  • Timeout: 5000ms
  • TX Size: 123
  • TX Time: 1096ms
  • RX Size: 123
  • RX Time: 1096ms
  • MTU: 251

可见Windows虽遵守了请求的间隔、超时和MTU参数,但将每个连接事件的资源平均分配为[TX 123, RX 123],而非nRF Connect的[TX 251, RX 27]。

请问是否有办法让Windows设置非对称的连接事件,即分配更多资源给外设到中心的传输,减少中心到外设的资源占比?当前API似乎缺少相关控制手段,是否有遗漏的配置项?

(补充说明:从Windows 11开始,BluetoothLEDevice新增了RequestPreferredConnectionParameters方法,但该方法仅支持修改连接间隔、延迟和超时,从请求PowerOptimized(180ms / 6000ms)、Balanced(60ms / 4000ms)或ThroughputOptimized(15ms / 2000ms)这些静态成员的效果即可看出。)


内容的提问来源于stack exchange,提问作者LWChris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:41:00