国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32外設(shè)系列—HC-05(藍(lán)牙)

這篇具有很好參考價(jià)值的文章主要介紹了STM32外設(shè)系列—HC-05(藍(lán)牙)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


?? 文章作者:二土電子

?? 關(guān)注文末公眾號(hào)獲取其他資料和工程文件!

?? 期待大家一起學(xué)習(xí)交流!


一、藍(lán)牙簡(jiǎn)介

藍(lán)牙(Bluetooth)是一種無(wú)線技術(shù)標(biāo)準(zhǔn),可實(shí)現(xiàn)固定設(shè)備、移動(dòng)設(shè)備和樓宇個(gè)人域網(wǎng)之間的短距離數(shù)據(jù)交換(使用2.4~2.485GHz的ISM波段的UHF無(wú)線電波)。藍(lán)牙技術(shù)最初由電信巨頭愛(ài)立信公司于1994年創(chuàng)制,當(dāng)時(shí)是作為RS232數(shù)據(jù)線的替代方案。藍(lán)牙可連接多個(gè)設(shè)備,克服了數(shù)據(jù)同步的難題。我們這里介紹的是在嵌入式開發(fā)中常用的藍(lán)牙模塊——HC-05。

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

二、使用方法

2.1 接線

HC-05供電電壓為3.6V~6V。通常使用5V供電。其余的RXD接TXD,TXD接RXD,CND接GND即可。

2.2 AT指令

HC-05也可以使用AT指令進(jìn)行配置。在配置之前,首先需要讓模塊進(jìn)入配置模式。博主買的HC-05有一個(gè)小按鈕。按住小按鈕再給藍(lán)牙模塊上電,藍(lán)牙模塊進(jìn)入配置模式,此時(shí)模塊上自帶的LED會(huì)慢速閃爍。進(jìn)入配置模式后,就可以用AT指令來(lái)配置我們的HC-05了。配置時(shí),用USB轉(zhuǎn)TTL連接HC-05,用串口調(diào)試助手發(fā)送AT指令進(jìn)行配置。需要注意的是,HC-05配置模式的波特率固定為38400,如果你給HC-05發(fā)送指令,沒(méi)有收到回復(fù),記得檢查一下串口調(diào)試助手的波特率是否正確。下面列舉一些配置時(shí)常用的AT指令

  • AT
    檢查HC-05模塊連接是否正常,HC-05收到后會(huì)回復(fù)“OK”
  • AT+NAME=名字
    配置HC-05的名字,配置成功后會(huì)返回“OK”
  • AT+NAME?
    詢問(wèn)HC-05的名字。發(fā)送后會(huì)收到“+NAME:“名字””,換行加“OK”
  • AT+PSWD=密碼
    配置HC-05密碼,配對(duì)時(shí)需要用到。配置成功后,會(huì)收到“OK”
  • AT+PSWD?
    詢問(wèn)HC-05配對(duì)密碼。發(fā)送后會(huì)收到“+PSWD:991102”,換行加“OK”
  • AT+UART=波特率,停止位,校驗(yàn)
    設(shè)置HC-05的波特率,其中停止位0表示一位停止位,為1表示兩位停止位。校驗(yàn)位為0表示無(wú)校驗(yàn),為1表示奇校驗(yàn),為2表示偶校驗(yàn)。比如設(shè)置115200的波特率,一位停止位,無(wú)校驗(yàn)。發(fā)送“AT+UART=115200,0,0”即可。配置成功后會(huì)返回“OK”
  • AT+UART?
    詢問(wèn)HC-05波特率。發(fā)送后會(huì)收到“+UART:波特率,停止位,校驗(yàn)”,換行加“OK”

配置完成功后,斷電重新上電,HC-05按照配置好的名字,配對(duì)密碼和波特率開始工作。此時(shí)LED快閃。

三、藍(lán)牙APP

這里介紹一個(gè)超級(jí)好用的藍(lán)牙APP——藍(lán)牙調(diào)試器。大概長(zhǎng)這個(gè)樣子,大家可以在應(yīng)用商店下載

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

這個(gè)藍(lán)牙調(diào)試器是一個(gè)大佬編寫的,我這里只是介紹一下使用方法。其他的詳細(xì)內(nèi)容,可以到大佬的原文查看提高開發(fā)效率-藍(lán)牙調(diào)試器。

為什么推薦這個(gè)藍(lán)牙調(diào)試器?個(gè)人覺(jué)得,它能夠在眾多藍(lán)牙調(diào)試器中脫穎而出,是因?yàn)樗С钟脩糇约涸O(shè)計(jì)GUI,提供了許多控件,比如常見(jiàn)的按鈕,文本框,可編輯文本框,以及一些滑動(dòng)條,遙桿和曲線圖等。支持自由設(shè)置位置,大小,功能十分強(qiáng)大。更重要的是,大佬提供了程序文件,對(duì)于想快速上手藍(lán)牙模塊,用手機(jī)與藍(lán)牙交互的小伙伴來(lái)說(shuō),十分友好。

四、實(shí)戰(zhàn)項(xiàng)目

下面我們以手機(jī)控制兩個(gè)LED亮滅,同時(shí)通過(guò)BH1750檢測(cè)周圍環(huán)境光照強(qiáng)度變化,返回到手機(jī)端顯示,并且能夠顯示光強(qiáng)變化曲線。

4.1 添加文件

第一步,先將大佬的文件添加到工程中。大佬的工程中的初始化函數(shù)已經(jīng)包含了串口的初始化,所以我們不需要再包含串口文件。

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

除此之外還要講BH1750相關(guān)文件添加進(jìn)來(lái),具體可見(jiàn)博主STM32外設(shè)系列BH1750篇,這里就不再做介紹。

4.2 配置需要傳遞的參數(shù)

根據(jù)項(xiàng)目要求,我們需要配置三個(gè)參數(shù),分別用來(lái)控制兩個(gè)LED亮滅,傳輸周圍環(huán)境光照強(qiáng)度。首先在程序中定義好這三個(gè)變量。

int gLed1Flag = 0;   // LED1亮滅控制標(biāo)志位
int gLed2Flag = 0;   // LED2亮滅控制標(biāo)志位
float gLingt = 0;   // 周圍環(huán)境光照強(qiáng)度

定義好這些變量之后,我們需要配置一下文件中的接收和發(fā)送數(shù)據(jù)。打開大佬的.h文件,可以看到里面定義了許多類型的發(fā)送和接收變量。這里的發(fā)送接收是針對(duì)單片機(jī)來(lái)說(shuō)的,而不是手機(jī)。

#define TX_BOOL_NUM  0
#define TX_BYTE_NUM  0
#define TX_SHORT_NUM 0
#define TX_INT_NUM   0
#define TX_FLOAT_NUM 0

#define RX_BOOL_NUM  0
#define RX_BYTE_NUM  0
#define RX_SHORT_NUM 0
#define RX_INT_NUM   0
#define RX_FLOAT_NUM 0

我們需要單片機(jī)發(fā)送一個(gè)周圍環(huán)境的光照強(qiáng)度,數(shù)據(jù)類型為浮點(diǎn)型。需要接收兩個(gè)LED亮滅控制變量,數(shù)據(jù)類型為int型。我們?cè)趯?duì)應(yīng)的位置配置好對(duì)應(yīng)的變量數(shù)量,如下

#define TX_BOOL_NUM  0
#define TX_BYTE_NUM  0
#define TX_SHORT_NUM 0
#define TX_INT_NUM   0
#define TX_FLOAT_NUM 1

#define RX_BOOL_NUM  0
#define RX_BYTE_NUM  0
#define RX_SHORT_NUM 0
#define RX_INT_NUM   2
#define RX_FLOAT_NUM 0

4.3 獲取返回值

在使用手機(jī)APP控制LED亮滅時(shí),單片機(jī)需要接收到手機(jī)發(fā)送來(lái)的數(shù)值。接收程序如下

// 如果接收到APP端數(shù)據(jù)
		if(readValuePack(&rxpack))
		{
			gLed1Flag = rxpack.integers[0];
			gLed2Flag = rxpack.integers[1];
		}

具體哪個(gè)值對(duì)應(yīng)哪個(gè)參數(shù),這些需要在手機(jī)端配置,放在下面介紹。

4.4 發(fā)送光照強(qiáng)度

單片機(jī)需要不斷地向APP端發(fā)送周圍環(huán)境光照強(qiáng)度數(shù)據(jù),程序如下

	// 向APP發(fā)送周圍環(huán)境光照強(qiáng)度
	txpack.floats[0] = gLingt;
	sendValuePack(&txpack);
	delay_ms(10);   // 防止發(fā)送過(guò)快

需要注意的是,藍(lán)牙發(fā)送數(shù)據(jù)時(shí)如果需要一次發(fā)送多個(gè)數(shù)據(jù),一定要在兩次發(fā)送之間加10ms延時(shí),否則會(huì)造成發(fā)送失敗。

4.5 控制程序

包含兩部分內(nèi)容,一部分是通過(guò)BH1750獲取周圍環(huán)境光照強(qiáng)度,另一部分是LED亮滅控制函數(shù)。程序如下

// LED亮滅控制
		if (gLed1Flag == 1)
		{
			Med_Led_StateCtrl(LED1,LED_ON);   // 點(diǎn)亮LED1
		}
		if (gLed2Flag == 1)
		{
			Med_Led_StateCtrl(LED2,LED_ON);   // 點(diǎn)亮LED2
		}
		if (gLed1Flag == 0)
		{
			Med_Led_StateCtrl(LED1,LED_OFF);   // 熄滅LED1
		}
		if (gLed2Flag == 0)
		{
			Med_Led_StateCtrl(LED2,LED_OFF);   // 熄滅LED2
		}
		
		gLingt = Med_Bh1750_GetLightIntensity();   // 獲取周圍環(huán)境光照強(qiáng)度

4.6 手機(jī)端頁(yè)面設(shè)計(jì)

根據(jù)項(xiàng)目要求,需要有兩個(gè)LED開關(guān),一個(gè)顯示周圍環(huán)境光照強(qiáng)度的文本框,還有一個(gè)波形顯示框。

4.6.1 新建調(diào)試工程

打開藍(lán)牙調(diào)試助手,選擇中間的“專業(yè)調(diào)試”,然后點(diǎn)擊加號(hào)新建調(diào)試工程。

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

4.6.2 設(shè)置通信變量

我們新建完調(diào)試工程后,需要先進(jìn)行通信設(shè)置。實(shí)際就是將我們手機(jī)APP與單片機(jī)通信時(shí)需要的變量配置好。

首先選中新建的調(diào)試工程,選擇“通信設(shè)置”

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

進(jìn)入之后可以看到如下頁(yè)面

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

這里的發(fā)送接收,只針對(duì)手機(jī)APPA而言的。

我們需要新建一個(gè)接收變量和兩個(gè)發(fā)送變量。接收變量為float型,發(fā)送變量為int型。這里的順序?qū)?yīng)我們單片機(jī)接收時(shí),變量在接收數(shù)組中的位置。

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

設(shè)置完收發(fā)變量后還需要設(shè)置一下通信模式。點(diǎn)擊最右邊的通信模式。選擇“僅操作控件時(shí)發(fā)送”即可。如下圖

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

至此,通信設(shè)置完成。

4.6.3 編輯控件

選中新建的調(diào)試工程,選擇“編輯控件”,即可進(jìn)入編輯頁(yè)面。

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

4.6.4 添加LED控制開關(guān)

進(jìn)入編輯控件頁(yè)面后,點(diǎn)擊加號(hào),添加一個(gè)開關(guān)。添加時(shí)會(huì)彈出頁(yè)面讓我們?cè)O(shè)置開關(guān)的信息

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

第一欄是選擇該變量是接收變量還是發(fā)送變量,第二欄是選擇變量類型。最后一欄是選擇關(guān)聯(lián)的變量。關(guān)聯(lián)的變量就是我們?cè)谕ㄐ旁O(shè)置中添加的變量。

選擇完成后需要設(shè)置開關(guān)參數(shù),設(shè)置打開和關(guān)閉時(shí)對(duì)應(yīng)的值

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

4.6.5 添加光照強(qiáng)度顯示控件

光照強(qiáng)度顯示控件我們選擇文本,操作與添加LED開關(guān)類似,注意鏈接好我們添加的光照強(qiáng)度變量即可,這里就不再做詳細(xì)介紹了。

項(xiàng)目要求能夠顯示周圍環(huán)境光照強(qiáng)度變化曲線。這里我們用Y-T一維曲線圖來(lái)顯示。添加之后鏈接我們添加的光照強(qiáng)度變量,設(shè)置好范圍即可,這里不再展示。

五、成果展示

首先用藍(lán)牙調(diào)試器搜索我們的HC-05進(jìn)行配對(duì)。配對(duì)完成后,在專業(yè)調(diào)試中找到我們新建的調(diào)試工程。點(diǎn)擊右側(cè)的開始按鈕,選擇我們的藍(lán)牙,就可以開始操作啦。

stm32 藍(lán)牙,STM32開發(fā)筆記—外設(shè)系列,stm32,嵌入式硬件,單片機(jī)

點(diǎn)擊開關(guān)可以控制LED的亮滅。文本框顯示當(dāng)前周圍環(huán)境光照強(qiáng)度。最下面顯示當(dāng)前周圍環(huán)境光照強(qiáng)度變化曲線。博主最近手邊沒(méi)有烙鐵,買來(lái)的BH1750沒(méi)有焊接排針,所以沒(méi)有連接。因此,顯示的光照強(qiáng)度值為0。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-661289.html

到了這里,關(guān)于STM32外設(shè)系列—HC-05(藍(lán)牙)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 學(xué)習(xí) stm32 無(wú)線藍(lán)牙模塊HC05配置與應(yīng)用(手機(jī)藍(lán)牙連接發(fā)送參數(shù))

    學(xué)習(xí) stm32 無(wú)線藍(lán)牙模塊HC05配置與應(yīng)用(手機(jī)藍(lán)牙連接發(fā)送參數(shù))

    最近學(xué)習(xí)使用HC05 藍(lán)牙模塊進(jìn)行單片機(jī) 連接使用,進(jìn)行手機(jī)端數(shù)據(jù)通信,用到了,和大家分享一下。 HC05 藍(lán)牙模塊介紹 HC05 模塊,是 ALIENTEK 生成的一款高性能主從一體藍(lán)牙串口模塊,可以同各種帶藍(lán)牙功能的電腦、藍(lán)牙主機(jī)、手機(jī)、PDA、PSP 等智能終端配對(duì),該模塊支持非常

    2024年01月16日
    瀏覽(99)
  • HC-05藍(lán)牙模塊與STM32控制led燈亮詳解

    HC-05藍(lán)牙模塊與STM32控制led燈亮詳解

    HC-05模塊是一種基于藍(lán)牙協(xié)議的簡(jiǎn)單無(wú)線通信設(shè)備,共有6個(gè)引腳,其中兩個(gè)引腳通過(guò)stm32的兩個(gè)含TX和RX的接口與之進(jìn)行通信,一般用于無(wú)線控制,智能家居等。 VCC:用于供電 GND:用于供電 TX(發(fā)送):與單片機(jī)某一RX口進(jìn)行通信 RX(接收):與單片機(jī)某一TX口進(jìn)行通信 一句話

    2024年02月08日
    瀏覽(56)
  • STM32外設(shè)系列—HC-SR04(超聲波)

    STM32外設(shè)系列—HC-SR04(超聲波)

    ?? 文章作者:二土電子 ?? 關(guān)注文末公眾號(hào)獲取其他資料和工程文件! ?? 期待大家一起學(xué)習(xí)交流! 超聲波測(cè)距的原理非常簡(jiǎn)單,超聲波發(fā)生器在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波信號(hào)遇到被測(cè)物體后會(huì)反射回來(lái),被超聲波接收器接收到。這樣只要計(jì)算出從發(fā)出

    2024年02月09日
    瀏覽(26)
  • HC-05藍(lán)牙模塊--------手機(jī)與STM32通信(代碼編寫)(上位機(jī)配置)保姆級(jí)教程

    HC-05藍(lán)牙模塊--------手機(jī)與STM32通信(代碼編寫)(上位機(jī)配置)保姆級(jí)教程

    ? 大家好哇!我是小光,嵌入式愛(ài)好者,一個(gè)想要成為系統(tǒng)架構(gòu)師的大三學(xué)生。 ?因?yàn)橹盁o(wú)論是電賽還是做項(xiàng)目,都用到了藍(lán)牙模塊,如:手機(jī)和stm32的通信,電賽中的雙車通信,還是遙感小車的stm32與stm32的無(wú)線通信等等 ?本篇文章對(duì)HC-05藍(lán)牙模塊與手機(jī)的通信做一個(gè)詳

    2024年02月03日
    瀏覽(103)
  • 【基于stm32】【附代碼】?jī)蓧K藍(lán)牙模塊HC-05進(jìn)行通訊,不占用串口一的代碼教程

    【基于stm32】【附代碼】?jī)蓧K藍(lán)牙模塊HC-05進(jìn)行通訊,不占用串口一的代碼教程

    目錄 前言 一、兩塊hc-05藍(lán)牙通訊的連接 二、使用步驟 1.hc-05從機(jī),該教程主要是應(yīng)用于【收數(shù)據(jù)】 usar.h代碼 usart.c代碼(只引用stm32的串口2,串口一用于燒程序) main.c 2.hc-05主機(jī),該教程主要是應(yīng)用于【發(fā)數(shù)據(jù)】 usar.h代碼 usart.c代碼(只引用stm32的串口2,串口一用于燒程序)

    2024年02月16日
    瀏覽(122)
  • 手把手教你使用--常用模塊--HC05藍(lán)牙模塊,無(wú)線藍(lán)牙串口透?jìng)髂K,(實(shí)例:手機(jī)藍(lán)牙控制STM32單片機(jī)點(diǎn)亮LED燈)

    手把手教你使用--常用模塊--HC05藍(lán)牙模塊,無(wú)線藍(lán)牙串口透?jìng)髂K,(實(shí)例:手機(jī)藍(lán)牙控制STM32單片機(jī)點(diǎn)亮LED燈)

    最近在學(xué)STM32,基本的學(xué)完了,想學(xué)幾個(gè)模塊來(lái)鞏固一下知識(shí),就想到了藍(lán)牙模塊。玩啥好難過(guò)有很多博客教怎么連的,但自己看起來(lái)還是有點(diǎn)糊涂。模塊的原理和知識(shí)點(diǎn)我就不講解了,這里我主要 手把手 記錄一下我是如何對(duì)藍(lán)牙模塊進(jìn)行學(xué)習(xí)和使用的。 所使用的資料和工

    2024年02月02日
    瀏覽(115)
  • stm32 之20.HC-06藍(lán)牙模塊

    stm32 之20.HC-06藍(lán)牙模塊

    原理圖顯示使用usart3串口使用的是PB10和PB11引腳 ?直接配置usart3串口協(xié)議 主函數(shù)代碼

    2024年02月11日
    瀏覽(32)
  • STM32傳感器外設(shè)集--超聲波模塊(HC_SR04)

    STM32傳感器外設(shè)集--超聲波模塊(HC_SR04)

    目錄 1.器件介紹 1.1.參數(shù) 1.2.測(cè)量范圍 1.3.計(jì)算公式 1.4.優(yōu)點(diǎn) 2.1.原理 3.代碼編寫 3.1.接線圖 3.2.代碼 3.2.1.HC_SR04.h 3.2.2.HC_SR04.c 3.2.3.timer.h 3.2.4.timer.c ?3.2.5.main.c 5根引腳 工作電壓5v 工作電流15mA 工作頻率40Hz 最近距離 2cm 最遠(yuǎn)距離 4m 測(cè)量角度 15度 測(cè)試距離=(高電平時(shí)間*聲速(340

    2024年02月14日
    瀏覽(27)
  • STM32--- 藍(lán)牙HC-08 (兩模塊間主從通信)

    STM32--- 藍(lán)牙HC-08 (兩模塊間主從通信)

    1.1? 開發(fā)軟硬環(huán)境 芯片型號(hào):STM32F103RCT6 開發(fā)軟件:Keil5? (v5.31+AC5,最常用) 代碼用庫(kù):標(biāo)準(zhǔn)固件庫(kù) 藍(lán)牙模塊:HC-08 (匯承家的;? 缺點(diǎn):小貴 ,優(yōu)點(diǎn):pdf+串口助手+APP+小程序,完美) USB轉(zhuǎn)TTL模塊: CH9340C? (Type-C接口,win10可免驅(qū)動(dòng),比CH340和CP2102爽) 1.2? 代碼下載鏈接

    2024年02月03日
    瀏覽(32)
  • STM32F1 + 藍(lán)牙HC08 與 手機(jī)APP通信

    STM32F1 + 藍(lán)牙HC08 與 手機(jī)APP通信

    1.1? 開發(fā)軟硬環(huán)境 芯片型號(hào):STM32F103RCT6 開發(fā)軟件:Keil5? (v5.31+AC5,最常用) 代碼用庫(kù):標(biāo)準(zhǔn)固件庫(kù) 藍(lán)牙模塊:HC-08 (HC家的,小貴 ,配套圖解、串口助手、APP、小程序,完美) USB轉(zhuǎn)TTL模塊: CH9340C? (Type-C接口,win10可免驅(qū)動(dòng),比CH340和CP2102爽) 1.2? 代碼下載鏈接 百度網(wǎng)

    2024年02月04日
    瀏覽(63)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包