蓝牙通用
示例
原先按目标芯片划分的 HCI over UART 控制器示例已被统一为一个示例 bluetooth/hci/controller_hci_uart,该示例支持所有提供 HCI over UART 的目标芯片:
已移除的示例
原先覆盖的目标芯片
examples/bluetooth/hci/controller_hci_uart_esp32ESP32
examples/bluetooth/hci/controller_hci_uart_esp32c3_and_esp32s3ESP32-C3、ESP32-S3
examples/bluetooth/nimble/hciESP32-C2、ESP32-C5、ESP32-C6、ESP32-C61、ESP32-H2、ESP32-H21、ESP32-H4、ESP32-S31
上述被移除的目录仅保留一个指向新示例的
README.md。请使用idf.py set-target <target>选择目标芯片。HCI UART 引脚、波特率和硬件流控的默认值与被移除示例所使用的一致,因此无需重新接线。统一后的示例依赖蓝牙控制器提供 HCI UART 传输层。因此,基于被移除示例开发的应用程序需要相应调整:
HCI UART 引脚现在由控制器而非应用程序配置。启用新增选项 后,
esp_bt_controller_init()会使能 HCI UART 与 UHCI 总线时钟,并应用 、,以及在启用 时应用 和 。基于
controller_hci_uart_esp32开发的应用程序原先需要在调用esp_bt_controller_init()之前,自行通过uart_ll_enable_bus_clock()、uhci_ll_enable_bus_clock()和uart_set_pin()使能这些时钟并配置 UART 引脚。请删除这部分代码,改为启用 。如果应用程序需要自行管理 HCI UART,请保持该选项为关闭状态。启用该选项后,控制器会覆盖应用程序配置的 HCI UART 引脚。