調試藍牙串口模塊HC-05

一、初次連接HC-05藍牙串口模塊

  1. 連接USB轉TTL串口設備與藍牙串口
  2. 按這藍牙上的小扭不放,再將USB口連上電腦(注意先不要將手機與藍牙連接!)
  3. 打開PC端串口工具,由於此時默認波特率爲38400,故將軟件端波特率選項選爲38400。
  4. 此時可以在命令窗口發送命令,注意要以 「回車」即換行結尾。
  5. 輸入 AT,再按回車換行,點擊發送,此時接收端的窗口會收到一條OK指令,說明通信成功。
    在這裏插入圖片描述
  6. 若未成功顯示OK,說明指令輸錯或者串口調試軟件的波特率選錯
    在這裏插入圖片描述

二,設置波特率

  1. 插曲1------波特率
    在初次調試過程中,我將波特率設置爲38400,通信成功,輸入命令AT+UART?換行以獲取設備參數,得到 4800,0,0,意思是默認波特率4800停止位1位奇偶效驗位沒有(none),
    在這裏插入圖片描述
    和設置的波特率不一樣啊,爲什麼能通信成功呢?
    這時候我掏出了手機祖傳的計算器:38400 / 8 = 4800,難道冥冥之中有着什麼關聯?

這個查了好久也沒有結果,有機會再補上吧!

  1. 設置波特率
    發送指令AT+UART=115200,0,0換行,將設置波特率115200停止位1位奇偶效驗位沒有(none

  2. 插曲2------數據手冊
    通過看這個手冊,我返現這裏翻譯的波特率單位bits/s,應該是翻譯了,應該是比特率,這也解釋了之前爲什麼查詢波特率時爲何和軟件上選擇的 相差了 8背,原因應該就是 查詢的是比特率,而不是波特率,這裏我也不是很確定,有時間再深究,也希望有人可以指出錯誤!
    在這裏插入圖片描述
    後來軟件波特率顯示的也是115200,藍牙也變成了115200,並沒有什麼異常,看來只是初次設置纔會有問題,,,,不!可能是因爲一開始我沒有選擇16進制顯示,故出錯!!!!啊啊啊,原因原來在這裏!
    所以說翻譯並沒有錯啊!

三、設置配對碼

發送指令AT+PSWD=<0000>換行,將配對碼設置爲0000
發送指令AT+PSWD?換行,顯示配對碼爲0000,說明設置成功。
在這裏插入圖片描述

四、連接手機

  1. 將USB串口拔下,再直接插上(這次不用按小鈕),便進入了自動連接模式

  2. PC軟件端波特率設置爲11520016進制顯示16進制發送
    在這裏插入圖片描述

  3. 手機藍牙串口APP端設置爲HEX模式

  4. 終於可以愉快的進行通信了!

  5. 如果想傳輸文本,那麼PC端去掉 16進制顯示16進制發送的勾選,app端去掉HEX模式的勾選即可

在這裏插入圖片描述

參考資料:
【STM32】串口通信基本原理(超基礎、詳細版)
【常用模塊】HC-05藍牙串口通信模塊使用詳解(實例:手機藍牙控制STM32單片機)