該HCI接口在藍牙核心規範中有定義。
在HCI模式下,我們可以通過HCI UART接口連接主機MCU、測試機或運行Linux或Android的系統。為了在HCI模式下成功運行並使用CYW20706設備,需要進行一些初始化,因為設備中的ROM代碼太老了。
如何啟動HCI模式
有兩個應用場景通過不同的方法啟動HCI模式:
- CYW20706有外接flash的應用場景。
(1).下載應用程序去初始化配置CYW20706。
您可以下載SDK中的任意的Demo代碼(例如hello_sensor)對CYW20706進行初始化。我附上了一個基於hello_sensor的應用程序代碼作為參考。但是有兩件事需要考慮:
a).通過wiced_set_debug_uart(WICED_ROUTE_DEBUG_NONE)禁用trace log。
b).在const wiced_transport_cfg_t transport_cfg{}中設置HCI UART的波特率。
(2).上電復位或硬體復位時,將CTS拉高。
上電復位或硬體復位時,拉高UART的CTS Pin,將使設備進入HCI模式,並接收所有的HCI命令。如果您正在使用CYW20706 EVB套(件板或相關模塊套件板)進行測試,當您將USB插入計算機,而計算機上的UART埠是關閉的,則CTS引腳將被自動拉高。
(3).用CYBluetool連接CYW20706設備,發送reset命令。波特率在前面配置的const wiced_transport_cfg_t transport_cfg{}中設置。然後CYW20706將接受所有的HCI命令。
- CYW20706沒有外接flash的應用場景。
(1).下載一個應用程序到RAM來初始化配置CYW20706。
您可以查看另外一篇博文,描述如何下載應用程序到RAM來初始化設備。有兩種方法下載應用程序到RAM:使用Client Control或使用HCI命令。您可以在文件WICED-HCI-Control-Protocol.pdf中找到完整的下載過程。該文件一般在C:\users\xxxx\documentswiced-studio-6.2.1\Doc\這樣的文件夾中。
(2).用CYBluetool連接CYW20706設備,發送reset命令。波特率在應用程序中配置的const wiced_transport_cfg_t transport_cfg{}中設置。然後CYW20706設備將接受所有的HCI命令。
評論