如何更改藍牙baud rate

  • 前言

藍牙模組是使用廣州匯承信息科技的HC-0x為從機(slave),可與電腦主機藍牙或是基板藍牙主機(master)進行無線傳輸,預設傳輸速率為9600bps,如果玩家要自行更改鮑率(速率)的話,可以按照下面的步驟,就可以將LaunchPad當成 USB to TTL 轉換器使用:

設置串列傳輸速率成功後立即生效,如還需要輸入AT指令,必須把軟體的串列傳輸速率調到與剛才設置的串列傳輸速率一致才能回應AT指令(如預設串列傳輸速率為9600bps,用該串列傳輸速率設置新的串列傳輸速率為1200bps後,需將軟體的串列傳輸速率設置為1200bps才能重新回應AT指令)

特別注意:設置串列傳輸速率前請查看軟體是否支援這個串列傳輸速率,否則將無法再設置串列傳輸速率!!當使用電腦的串口設置高於115200bps後,一般的MAX232晶片不能在高於115200串列傳輸速率下可靠工作,因此需要使用其他支援更高串列傳輸速率的設備才能再次與透傳模組通信。

修改藍芽名稱,實現個性化設備,該名稱為搜索到藍芽設備後顯示的名稱,發送“AT+NAMEjiayuanelectron”(注意:因為剛才設置了1200bps,所以軟體上必須修改為1200bps才能設置),設置成功後模組會回復“OKsetname”,其中,NAME後面的字元為所要設置的設備的名稱,最多可支援20個字元,不支援中文。(注意:修改名稱後請重新上電,名稱才會變)

我這裡只能選擇com5,找到電腦上藍芽適配器虛擬的串口,即為連接後電腦端操作的串口,比如我這裡是com5,發往com5的資料將通過藍芽發到透傳模組上,透傳模組發過來的資料也將轉發到com5上。

與電腦連接成功後可以先進行自收自發測試(實際上能回應AT命令,證明物理串口連接沒有問題,能與電腦藍芽配對,說明無線部分也沒有問題,該測試主要測試藍芽至物理串口是否正常):TXD,RXD不要接任何週邊,短接TXD,RXD,給模組上電並與電腦藍芽適配器正確配對好,然後打開電腦上的串口調試工具,選擇與藍芽連接的埠,發送任意資料,如果在電腦的調試工具上能接收到發送出去的資料,說明藍芽模組沒有問題。

如果藍芽透傳模組的txd,rxd接了串口設備,如GPS,單片機等,則電腦端通過com5即可與GPS,單片機等實現無線連接,與使用普通串口無異,如下面連接GPS的例子。(因為GPS輸出串列傳輸速率為4800bps,因此藍芽透傳模組要先通過AT指令設置為4800bps才能正確收發)

注意:在資料量較少的情況下,藍芽適配器與藍芽透傳模組的串列傳輸速率可以不一致,不影響資料的傳輸,但是如果資料量大,請設置為一致以免資料溢出(比如藍芽適配器設置為4800bps,透傳模組設置為9600bps,如果透傳模組回發的資料量較大則因為接收端串列傳輸速率過低,緩衝佇列將溢出導致接收資料出錯)

  • 步驟

  • 1.先將LaunchPad基板上的GND與RST兩個PIN腳互相連接。

  • 2.將藍牙模組上的TXD連接基板上的P1.1,將藍牙模組上的RXD連接基板上的P1.2,如圖示。

    • 3.將藍牙模組上的VCC連接基板上的VCC,將藍牙模組上的GND連接基板上的GND。此時,模組通電之後,藍芽模組上的 LED 紅燈會一直閃爍,藍牙從機約每秒一次閃爍間隔,紅燈閃爍代表電源供應正確,而且藍芽是處在指令模式,此時才可以輸入 AT 指令控制,如果為紅色恆亮,必須檢查是否藍牙從機(slave)與主機(master)連接。

  • 4.先測試看看連接上的藍牙模組是否工作正常,開啟超級終端機(或是通訊埠軟體AccessPort) 連線設定9600-N-8-1,發送端按下"AT"指令,觀察接收端應該會回覆"OK"。(注意"AT"為英文半形大寫)

    • 5.發送端按下更改baud rate 的AT指令,請參考下表,例如:玩家想要將傳輸速率更改成19200bps,發送端的AT指令為"AT+BAUD5",觀察接收端應該會回覆"19200OK"。 (注意"AT"與BAUD皆為英文半形大寫)

launchpad BT baud setting table
  • 6.更改設定速率成功之後,當然會與既有的9600傳輸速率不同,因此必須斷電(放心,藍牙模組已記憶了之前的更改),上電之後,再次開啟超級終端機 (或是通訊埠軟體AccessPort) ,用新的連線設定19200-N-8-1,即可與藍牙主機連線了。

  • 參考資料

http://www.wavesen.com/

http://coopermaa2nd.blogspot.tw/2012/07/arduino-as-usb-to-ttl-adapter.html