乐鑫技术交流
直播中

刘军

8年用户 1480经验值
私信 关注
[问答]

esp32 controller是否支持同时建立两条SCO呢?

想用esp32 实现同时建立两条SCO 链路,CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF 的值也确实是2,但是在建立第二条SCO的时候,hci报错: Synchronous Connection Complete (status=10),即sco link超过设备最大限制。请问一下,esp32 controller是不是把能建立的最大SCO connection写死为1了呢?
                                                                                                

回帖(1)

tr4578

2024-6-25 17:09:42
ESP32是一款功能强大的蓝牙芯片,支持蓝牙4.2和蓝牙5.0。在ESP32中,SCO(Synchronous Connection Oriented)链路主要用于实现蓝牙音频传输。关于您的问题,我将分步骤进行解答。

1. 首先,我们需要了解ESP32的配置。在ESP32的蓝牙配置中,CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF的值确实可以设置为2,这意味着理论上可以支持同时建立两条SCO链路。

2. 然而,在实际应用中,ESP32可能受到硬件和软件的限制。在某些情况下,ESP32可能无法实现同时建立两条SCO链路。这可能是由于硬件资源不足,或者软件实现上的问题。

3. 您提到的HCI报错:Synchronous Connection Complete (status=10),表示SCO链路建立失败,原因是超过了设备的最大限制。这可能是由于ESP32的硬件或软件限制导致的。

4. 要解决这个问题,您可以尝试以下方法:
   a. 检查ESP32的硬件资源是否足够支持同时建立两条SCO链路。
   b. 检查ESP32的蓝牙固件是否支持同时建立两条SCO链路。如果不支持,您可能需要升级固件或寻找其他解决方案。
   c. 检查您的应用程序是否正确地实现了SCO链路的建立和维护。确保在建立第二条SCO链路之前,第一条SCO链路已经正确建立并保持稳定。

5. 如果以上方法都无法解决问题,那么ESP32可能确实将最大SCO连接数限制为1。在这种情况下,您可能需要考虑使用其他蓝牙芯片或解决方案来实现您的需求。

总之,虽然ESP32的配置理论上支持同时建立两条SCO链路,但在实际应用中可能受到硬件和软件的限制。您需要检查硬件资源、固件支持以及应用程序实现,以确定问题的根本原因并寻求解决方案。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分