一、什么是藍牙串口透傳模塊的模式
藍牙串口模塊,一般都會有兩個模式,即AT指令模式,以及透傳模式
1、有的模塊,會通過一個GPIO口來選擇當前是什么模式,比如將一個IO口拉低則進入透傳模式,也就是不再識別AT指令,即使收到AT指令也是直接透傳給主機
2、有的模塊,則是自動切換AT指令模式和透傳模式。當藍牙未連接的時候則是AT指令模式,一旦藍牙被主機連接了,則自動進入透傳模式,進入透傳模式之后AT指令就不再識別,轉而變成普通數據發送給主機
3、另外還有的模塊,就是不用區分兩種模式,AT指令在整個藍牙模塊的生命周期都是有效的,不管連接或者未連接,都是自動識別 。識別到AT指令則是當做命令去處理,非AT指令則是當作普通數據去處理,比如:KT6368A雙模藍牙芯片就是這么處理的
這樣做的壞處是,加入透傳的數據里面也有符合規則的AT指令,就會被當做AT指令處理了,不再透傳給上位機了。
二、藍牙模塊的串口波特率
主流的藍牙模塊,基本都是串口接口,也就是UART接口。但是也不排除有其他的接口,比如IIC、SPI等等,這類型的接口產品非常的少
1、主流的還是串口,這樣比較容易被廣大的工程師群體所接受
藍牙模塊的串口AT指令,也是基于早期的電話控制協議改寫來的,也就是說它生來并不是標配,也不是標準。而是在廣大的工程師群體使用過程中,最后大家慢慢的達成了默契,形成了共識性的標準而已
2、所以才會是今天看到的百花齊放的樣子,采用串口通訊,AT指令設置參數。
比如AT指令設置藍牙名稱,AT指令設置串口的波特率等等 。還有更高級的比如藍牙模塊不需要設置波特率,他是自動識別的
3、這里拿KT6368A雙模藍牙芯片的串口部分來舉例說明,串口的規則是怎么樣的
通訊標準:115200 bps --- 用戶可以通過串口指令設置詳見3.2
數據位 :8 停止位 :1 校驗位 :none 流控制 :none
注意:所有的指令的設計,都是有規律的,不是隨意劃分的,可以對照下面找一下規律
控制指令格式:AT+[]rn ---- 所有的都是字符,不是十六進制數
數據反饋格式:[]rn
數據反饋格式:[]rn
AT+ : 控制指令是控制主機給KT6368A的控制命令,以“AT+ ”開始
:后面緊跟控制 ,通常是2個字符
[] :如果CMD后面有參數,則緊跟著[]
rn :最后以rn結束,字符型換行,windows就是回車鍵。十六進制0x0D,0x0A
:數據反饋是藍牙把各種狀態和數據信息反饋給主機,以作為開頭
AT指令的舉例如下:
4、這當然一般的藍牙模塊都可以使用AT指令去修改波特率,這樣就可以更好的兼容到任何產品里面去,但是一般的產品大部分都是9600或者38400,再或者115200
很少的應用場景需要超高的波特率,所以KT6368A的芯片就定義默認為115200
5、藍牙測試模塊的設計參考如下:包含PCB和原理圖
審核編輯:湯梓紅
-
藍牙
+關注
關注
114文章
5771瀏覽量
169827 -
串口通訊
+關注
關注
1文章
258瀏覽量
24857 -
波特率
+關注
關注
2文章
303瀏覽量
34068 -
藍牙模塊
+關注
關注
30文章
565瀏覽量
55691
發布評論請先 登錄
相關推薦
評論