找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15992|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32 模塊篇-藍(lán)牙串口模塊(HC-05)實驗

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-3-4 13:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
目     錄
5.10.1概述3
5.10.1.1產(chǎn)品特點:4
5.10.1.3應(yīng)用領(lǐng)域:7
5.10.2 實驗?zāi)康?
5.10.3 硬件設(shè)計8
5.10.4 軟件設(shè)計9
5.10.4.1 軟件設(shè)計說明9
5.10.4.2 STM32庫函數(shù)文件9
5.10.4.3 自定義頭文件10
5.10.4.4 pbdata.h文件內(nèi)容10
5.10.4.5 pbdata.c文件內(nèi)容11
5.10.5  GPIO引腳時鐘使能13
5.10.6  stm32f10x_it.c文件內(nèi)容13
5.10.7  main.c文件里內(nèi)容14
5.10.8 程序下載16
5.10.9 實驗效果圖17
5.10.10小常識(非常重要)17
5.10  HC-05藍(lán)牙串口模塊
實驗及程序設(shè)計
5.10.1概述嵌入式藍(lán)牙串口模塊具備兩種工作模式:命令響應(yīng)工作模式和自動連接工作模式,在自動連接工作模式下模塊又可分為主(Master)、從(Slave)、和回環(huán)(Loopback)三種工作角色。當(dāng)模式處于自動連接工作模式時,將自動根據(jù)事先設(shè)定的方式連接的數(shù)據(jù)傳輸;當(dāng)模塊處于命令響應(yīng)工作模式時能執(zhí)行所有的AT命令。上電之前按住模塊的微動開關(guān)后再送電,這是模塊回進入命令響應(yīng)工作模式,LED燈是慢速閃動狀態(tài),亮滅的時間間隔約2秒。
我們銷售的模塊都是從機,出廠默認(rèn)值是:波特率:9600,N,8,1。配對密碼:1234。
我們不建議用在超過115200的波特率,信號的干擾會使系統(tǒng)工作不穩(wěn)定。設(shè)置超過115200后用電腦無法正常訪問藍(lán)牙模塊,要用單片機編程于高于115200才能使用此波特率和重新發(fā)AT命令設(shè)低波特率,因此要謹(jǐn)慎設(shè)置過高的頻率。用AT命令設(shè)好波特率后,下次上電使用不需重新設(shè)置,HC-06-D藍(lán)牙串口模塊可以掉電保存波特率。

5.10.1.1產(chǎn)品特點:
l 采用CSR主流藍(lán)牙芯片,藍(lán)牙V2.0協(xié)議標(biāo)準(zhǔn)
;
l 核心串口模塊工作電壓3.3V。帶底板的可以為3.1-6.5V之間
;
l 波特率為1200,2400,4800,9600,19200,38400,57600,11520
0用戶可設(shè)置;
l 核心模塊尺寸大小為:28mm x 15 mm x 2.35mm。底板尺寸27mm*47mm
;
l 工作電流:配對中為50MA,配對完畢通信中為28MA
;
l 空曠地帶有效傳輸距離10米,超過10米也是可能的,但是不對連接質(zhì)量做保證;
l 配對成功以后,可以作為全雙工串口使用。無需了解任何藍(lán)牙協(xié)議,但只支持8位數(shù)據(jù)位、1位停止位、無奇偶校驗的通信格式。這也是最常用的通信格式,不支持其它格式!
5.10.1.2 AT命令集如下:


舉例說明:
At+version?\r\n
+VERSION:2.0-20100601
OK



出廠默認(rèn)值:
a) 設(shè)備類:0
b) 查詢碼:0x009e8b33
c) 模塊工作角色:Slave Mode
d) 連續(xù)模式:指定專用藍(lán)牙連接模式
e) 串口參數(shù):波特率:38400bits/s;停止位:1位;校驗位:無
f) 配對碼:“1234”
g) 設(shè)備名稱:“H-C-2010-06-01”


藍(lán)牙地址的表示方法:NAP:UAP:LAP(十六進制)舉例說明:
模塊藍(lán)牙設(shè)備地址為:12:34:56:ab:cd:ef
At+addr?\r\n
+ADDR:1234,56,ABCDEF
OK


舉例:
AT+IAC=9e8b3f\r\n  OK
AT+IAC=?\r\n
+IAC: 9e8b3fOK


舉例:
AT+IAQM=1,9,48\r\n  --查詢模式設(shè)置:帶RSSI信號強度指示,超過9個藍(lán)牙設(shè)備響應(yīng)則終止查詢,設(shè)定超時為48x1.28=61.44秒。
OK
AT+INQM\r\n
+INQM:1,9,48
OK


舉例:
AT+IAQM=1,9,48\r\n  --查詢模式設(shè)置:帶RSSI信號強度指示,超過9個藍(lán)牙設(shè)備響應(yīng)則終止查詢,設(shè)定超時為48x1.28=61.44秒。
OK
AT+INQM\r\n
+INQM:1,9,48





舉例:設(shè)置串口波特率:115200,2位停止位,Even校驗
AT+UART=115200,1,2\r\n
OK
AT+UART ?\r\n
++UART:115200,1,2
OK


舉例:
AT+NAME=HC-05\r\n  —設(shè)置模塊設(shè)備名稱為“HC-05”
OK
at+name=Beijing\r\n  —設(shè)置模塊設(shè)備名稱為“Beijing”
OK
at+name=“Beijing”\r\n  —設(shè)置模塊設(shè)備名稱為“Beijing”
OK
at+name?\r\n  
+NAME=Beijing
OK
以上參數(shù)設(shè)置可以掉電保存,只需修改一次。詳細(xì)參考《藍(lán)牙串口模塊使用說明》。
5.10.1.3應(yīng)用領(lǐng)域: l 用于GPS導(dǎo)航系統(tǒng),水電煤氣抄表系統(tǒng),工業(yè)現(xiàn)場采控系統(tǒng)
;
l 可以與藍(lán)牙筆記本電腦、電腦加藍(lán)牙適配器、PDA等設(shè)備進行無縫連接
;
5.10.2 實驗?zāi)康?/strong>1. 掌握HC-05藍(lán)牙串口模塊的工作原理;
2. 掌握單片機實現(xiàn)HC-05藍(lán)牙串口模塊通訊的基本方法;
3. 熟悉單片機數(shù)據(jù)采集系統(tǒng)中,HC-05藍(lán)牙串口模塊作為傳感器對象的系統(tǒng)設(shè)計方法,更多的了解電子傳感器及控制器的飛速發(fā)展。
5.10.3 硬件設(shè)計    把HC-05藍(lán)牙串口模塊通過杜邦線與大黃蜂開發(fā)板連接。接線方法簡單,采用4根杜邦線,按照“附表1接線方法”連接好即可。
實驗器材:
一塊大黃蜂開發(fā)板;一個HC-05藍(lán)牙串口模塊;四根杜邦線;一條USB下載線等。





5.10.4 軟件設(shè)計
5.10.4.1 軟件設(shè)計說明打開手機藍(lán)牙功能搜索藍(lán)牙設(shè)備HC-05,輸入密碼(1234)。安裝Android 版串口調(diào)試軟件(HC-PDA-ANDROID)。安裝完成后打開軟件(BTClient)選擇連接并在查找設(shè)備中選擇HC-05,等待幾秒鐘與藍(lán)牙模塊連接,當(dāng)連接成功后手機下方會有提示連接成功。然后發(fā)送數(shù)據(jù)(1234),這時屏幕上會返回(2345)說明藍(lán)牙模塊連接成功。



5.10.4.2 STM32庫函數(shù)文件



本節(jié)實驗及以后的實驗我們都是用到庫文件,其中 stm32f10x_gpio.h頭文件包含了GPIO端口的定義。stm32f10x_rcc.h 頭文件包含了系統(tǒng)時鐘配置函數(shù)以及相關(guān)的外設(shè)時鐘使能函數(shù),所以我們要把這兩個頭文件對應(yīng)的stm32f10x_gpio.c和stm32f10x_rcc.c加到工程中;Misc.c庫函數(shù)主要包含了中斷優(yōu)先級的設(shè)置,stm32f10x_exti.c 庫函數(shù)主要包含了外部中斷設(shè)置參數(shù),tm32f10x_tim.c庫函數(shù)主要包含定時器設(shè)置,tm32f10x_usart.c庫函數(shù)主要包含串行通訊設(shè)置;以上庫文件包含了本次實驗所有要用到的函數(shù)使用功能。

5.10.4.3 自定義頭文件



我們已經(jīng)創(chuàng)建了兩個公共的文件,這兩個文件主要存放我們自定義的公共函數(shù)和全局變量,以方便以后每個功能模塊之間傳遞參數(shù)。
5.10.4.4 pbdata.h文件內(nèi)容


5.10.4.5 pbdata.c文件內(nèi)容
下面是pbdata.c文件詳細(xì)內(nèi)容,在文件開始還是引用“pbdata.h”文件。


5.10.5  GPIO引腳時鐘使能
我們總在強調(diào),每個工程都必須在開始時配置并啟動STM32系統(tǒng)時鐘,這次也不例外。



本節(jié)實驗用到了PA\PE端口,所以要把PA\PE端口的時鐘打開;串口1時鐘源是通過APB2預(yù)分頻器得到的,串口1時鐘初始化;因為要與外部芯片通訊,所以要打開功能復(fù)用時鐘。
5.10.6  stm32f10x_it.c文件內(nèi)容在中斷處理stm32f10x_it.c文件里中僅串口1子函數(shù)非空,進入中斷處理函數(shù)后,只有串口1有參數(shù)輸出。


5.10.7  main.c文件里內(nèi)容
  在主程序中采用while(1)語句,采用中斷方式。


5.10.8 程序下載
在這一章節(jié)中我采用串口通訊方式讀取藍(lán)牙模塊數(shù)據(jù),數(shù)據(jù)讀入后通過程序轉(zhuǎn)換直接串口打印輸出至屏幕顯示。
請根據(jù)下圖所指向的7個重點區(qū)域配置。其中(1)號區(qū)域根據(jù)自己機器的實際情況選擇,我的機器虛擬出來的串口號是COM3。(2)號區(qū)域請自己選擇程序代碼所在的文件夾。(7)號區(qū)域當(dāng)程序下載完后,進度條會到達最右邊,并且提示一切正常。(4、5、6)號區(qū)域一定要按照上圖顯示的設(shè)置。當(dāng)都設(shè)置好以后就可以直接點擊(3)號區(qū)域的開始編程按鈕下傳程序了。


本節(jié)實驗的源代碼在光盤中:(LY-STM32 光盤資料\1.課程\5, 模塊篇\模塊篇-10.藍(lán)牙串口模塊(HC-05)實驗\程序)
5.10.9 實驗效果圖把HC-05藍(lán)牙串口模塊和大黃蜂開發(fā)板連接好,送電后下載程序,如“圖5.10.9 藍(lán)牙串口模塊實驗效果圖”程序下載完成后,通過眾想科技多功能監(jiān)控軟件可以監(jiān)聽到藍(lán)牙模塊發(fā)送出來的數(shù)據(jù)。
5.10.10小常識(非常重要)
TXD:發(fā)送端,一般表示為自己的發(fā)送端,正常通信必須接另一個設(shè)備的RXD。
RXD:接收端,一般表示為自己的接收端,正常通信必須接另一個設(shè)備的TXD。
VCC:接電源正極GND:接電源負(fù)極RXD:接收端,藍(lán)牙模塊接收從其它設(shè)備發(fā)來的數(shù)據(jù);正常情況接其它設(shè)備的發(fā)送端TXD;TXD:發(fā)送端,藍(lán)牙模塊發(fā)送數(shù)據(jù)給其它設(shè)備;正常情況接其它設(shè)備的接收端RXD;EN:使能端,需要進入AT模式時接3.3V;
自收自發(fā):正常通信時RXD接其他設(shè)備的TXD,因此如果要接收自己發(fā)送的數(shù)據(jù)顧名思義,也就是自己接收自己發(fā)送的數(shù)據(jù),即自身的TXD直接連接到RXD,用來測試本身的發(fā)送和接收是否正常,是最快最簡單的測試方法,當(dāng)出現(xiàn)問題時首先做該測試確定是否產(chǎn)品故障。也稱回環(huán)測試。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩1
回復(fù)

使用道具 舉報

沙發(fā)
ID:95059 發(fā)表于 2022-5-30 19:28 | 只看該作者
為什么屏弊掉了?版主大人
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表