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

HC08藍牙模塊實現(xiàn)手機通信以及互相通信(附源碼及解析)

這篇具有很好參考價值的文章主要介紹了HC08藍牙模塊實現(xiàn)手機通信以及互相通信(附源碼及解析)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

本篇博客詳細的介紹如何實現(xiàn)HC08主從機設置,命名,以及如何實現(xiàn)兩個STM32通過HC08互相通信,并附帶完整的操作步驟,以及源代碼。

目錄

一、HC08主從配置

1.1VOFA+的下載及基本用法

1.1.1VOFA+的下載? ? ? ??

1.1.2VOFA+的基本用法? ?

1.2配置HC08主從機及其他

二、兩個STM32通過HC08互相通信

2.1硬件連接

2.2軟件實現(xiàn)(附完整源碼)

三.手機APP連接HC08

四.HC08的AT指令表


一、HC08主從配置

1.1VOFA+的下載及基本用法

1.1.1VOFA+的下載? ? ? ??

VOFA+是一款非常簡單好用的串口上位機軟件,既可以監(jiān)視波形調試參數(shù),又可以發(fā)送串口指令,滿足電賽控制題調試的一切需求,是未來拿下國一同學們的必備工具,官網(wǎng)下載鏈接如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 下載中心 | VOFA-Plus上位機

圖1是VOFA+的界面,一般只需要修改端口號與波特率,按照STM32配置的串口波特率修改即可。

? ?

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機
圖1

1.1.2VOFA+的基本用法? ?

1.藍色圖標是啟動按鈕,成功連接后,接受發(fā)送來的串口數(shù)據(jù),閃藍色。

2.紅色圖標是協(xié)議與連接,在此界面設置串口參數(shù)配置,如圖2。

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機
圖2

? ? ? ?

3.綠色圖標界面設置串口指令,點擊選擇“命令”,如圖3。

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機
圖3

4.成功生成“命令8”,選擇編輯,可以修改名稱和發(fā)送內容,編輯完成后,雙擊退出編輯,點擊“命令8”控件,就可以發(fā)送“1234”了,如圖4(未退出編輯模式),之后就需要用這個功能給HC08發(fā)送信息。

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機
圖4

1.2配置HC08主從機及其他

基本步驟:

1.利用USB轉串口模塊,將HC08物理連接電腦,并打開VOFA+真正與HC08串口通訊,波特率設置為9600(出廠默認波特率是9600,連接上后可以自定義)。

2.按照AT指令表,編輯VOFA+的命令工具,向HC08發(fā)送對應的AT指令。

注意:設置一個為主機,一個為從機,上電即可自動連接。HC08 支持一對一連接,第一次連接后,主機會自動記憶配對對象。如需連接其他模塊,必須先清除配對記憶。主從機可以互發(fā)消息。(配對中HC08板載燈閃爍,連接成功板載燈常亮

圖5中,我的命令控件叫“設置主機”,發(fā)送的內容為“AT+ROLE=M”,查AT指令表(附文末)知該命令設置主機,設置從機則改M為S,“AT+ROLE=S”。

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機
圖5

圖6中,我的命令控件叫“設置波特率”,發(fā)送的內容為懶得打了,如圖所示,查表知該命令為設置HC08波特率,再次強調一下HC08出廠設置的波特率是9600。

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機
圖6

二、兩個STM32通過HC08互相通信

2.1硬件連接

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機

2.2軟件實現(xiàn)(附完整源碼)

實現(xiàn)思路:

1.實現(xiàn)兩個STM32與HC08主從機串口通訊。
2.連從機的STM32與連主機的STM32互相發(fā)送信息,收到對應消息點亮的板載燈。

注意:兩燈均被點亮說明,實現(xiàn)互相通訊,代碼方面兩個單片機的代碼是一樣的,接受中斷函數(shù),判斷是否收到另一個單片機發(fā)送的字符‘a’,同時在main函數(shù)的while(1)里一直向另一個單片機發(fā)送字符‘a’,現(xiàn)象是先后上電后,兩個32的板載燈幾乎同時被點亮。

main文件

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "HC08.h"

int main(void)
{

	HC08_Init();//初始化HC08串口
	GPIO_InitTypeDef  GPIO_InitStructure;//初始化板載燈B5

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);

	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;				 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 
	GPIO_Init(GPIOB, &GPIO_InitStructure);					 
	GPIO_ResetBits(GPIOB,GPIO_Pin_5);//熄滅B5					
	while (1)
	{
		HC08_SendByte('a');//發(fā)送‘a’
	}
}

HC08.h文件

#ifndef __HC08_H
#define __HC08_H

void HC08_Init(void);
void HC08_SendByte(uint8_t Byte);
//void HC08_SendString(char *String);

#endif

HC08.c文件

#include "stm32f10x.h"                  // Device header

void HC08_Init(void)//USART1 A9-TX A10-RX
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1, ENABLE);
	
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	
	USART_InitTypeDef USART_InitStructure;
	USART_InitStructure.USART_BaudRate = 9600;//波特率
	USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
	USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
	USART_InitStructure.USART_Parity = USART_Parity_No;
	USART_InitStructure.USART_StopBits = USART_StopBits_1;
	USART_InitStructure.USART_WordLength = USART_WordLength_8b;
	USART_Init(USART1, &USART_InitStructure);
	
	USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
	
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
	
	NVIC_InitTypeDef NVIC_InitStructure;
	NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
	NVIC_Init(&NVIC_InitStructure);
	
	USART_Cmd(USART1, ENABLE);
}

void HC08_SendByte(uint8_t Byte)
{
	USART_SendData(USART1, Byte);
	while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
}

int HC08_data=0;
void USART1_IRQHandler(void)
{
	if(USART_GetITStatus(USART1,USART_IT_RXNE) != RESET)
	{
		HC08_data=USART_ReceiveData(USART1);
		if(HC08_data=='a')//如果STM32”A”發(fā)送的消息是‘a’,則板載燈被點亮
		{
		    GPIO_ResetBits(GPIOB,GPIO_Pin_5);
		}
	}
	USART_ClearITPendingBit(USART1,USART_IT_RXNE);
}

三.手機APP連接HC08

步驟:

1.與步驟二的代碼相同,不用修改現(xiàn)象是一樣的,連接好后,手機端給HC08發(fā)送字符‘a’,即可點亮stm32板載燈。

2.下載藍牙助手APP(此處藍牙串口調試APP都可以連接,不一定非要下載HC藍牙助手),附應用信息。

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機

3.連接搜索,用VOFA+命名的HC08,比如我叫LLBW,點擊連接就行,之后發(fā)送字符‘a’,看是否點亮板載燈。(是否連接成功)

四.HC08的AT指令表

hc-08雙藍牙通信,電賽,stm32,嵌入式硬件,單片機文章來源地址http://www.zghlxwxcb.cn/news/detail-838272.html

到了這里,關于HC08藍牙模塊實現(xiàn)手機通信以及互相通信(附源碼及解析)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • STM32F1 + 藍牙HC08 與 手機APP通信

    STM32F1 + 藍牙HC08 與 手機APP通信

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

    2024年02月04日
    瀏覽(63)
  • STC89C52單片機利用DHT11溫濕度模塊以及HC-08藍牙模塊實現(xiàn)測量溫濕度

    STC89C52單片機利用DHT11溫濕度模塊以及HC-08藍牙模塊實現(xiàn)測量溫濕度

    下面將介紹如何利用STC89C52單片機和DHT11溫濕度模塊以及HC-08藍牙模塊實現(xiàn)測量溫濕度。以及各模塊的使用方法。 利用DHT11溫濕度模塊測量溫濕度,利用HC-08藍牙模塊將數(shù)據(jù)傳到手機上。 1.1DHT11溫濕度模塊外觀 1.2DHT11溫濕度模塊使用方法簡介 1.2.1DHT11溫濕度模塊工作的過程 用戶

    2024年02月02日
    瀏覽(32)
  • HC-05藍牙模塊調試及與手機通信

    HC-05藍牙模塊調試及與手機通信

    實現(xiàn)HC-05藍牙模塊的調試及與手機簡單通信 目錄 1.HC-05藍牙模塊介紹 2.HC-05藍牙模塊調試所需實物 3.藍牙與USB TO TTL模塊接線方式 4.進入AT模式調試參數(shù) 5.主從模式簡介 6.返回正常工作模式,用手機軟件連接測試 HC-05藍牙模塊是一種常用的藍牙串口傳輸模塊,具有簡單易用和廣泛

    2024年02月08日
    瀏覽(31)
  • HC-05(ZS-040)藍牙模塊使用詳情(藍牙模塊配置、手機藍牙控制單片機、藍牙與藍牙之間的通信)含51、32程序

    HC-05(ZS-040)藍牙模塊使用詳情(藍牙模塊配置、手機藍牙控制單片機、藍牙與藍牙之間的通信)含51、32程序

    HC-05是一款主從一體化的藍牙模塊,因此其使用起來比較方便,只需要進行簡單的配置即可。 本文就 手把手的介紹小白入手模塊后如何使用 。 對于模塊使用:1、藍牙配置→2、手機與藍牙的傳輸→3、手機通過藍牙模塊控制單片機→4、一對藍牙之間主—從傳輸數(shù)據(jù),這是一個

    2023年04月09日
    瀏覽(400)
  • HC-05藍牙模塊--------手機與STM32通信(代碼編寫)(上位機配置)保姆級教程

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

    ? 大家好哇!我是小光,嵌入式愛好者,一個想要成為系統(tǒng)架構師的大三學生。 ?因為之前無論是電賽還是做項目,都用到了藍牙模塊,如:手機和stm32的通信,電賽中的雙車通信,還是遙感小車的stm32與stm32的無線通信等等 ?本篇文章對HC-05藍牙模塊與手機的通信做一個詳

    2024年02月03日
    瀏覽(102)
  • C51單片機利用HC-05藍牙模塊實現(xiàn)手機點燈

    C51單片機利用HC-05藍牙模塊實現(xiàn)手機點燈

    藍牙通信,實現(xiàn)手機端遠程(15米)控制單片機,這聽起來對于初學者的我來說,是那么不可思議,經過不斷地實驗,閱讀其他大佬的文章,終于實現(xiàn)了。 在有基礎的通信原理知識的前提下,知,HC-05藍牙模塊與51的通信其實很簡單,就是藍牙模塊的RXD(接收端)接單片機的TXD(發(fā)送

    2024年02月16日
    瀏覽(94)
  • Android Studio制作手機App:通過手機藍牙(Bluetooth)與STM32上的低功耗藍牙(HC-42)連接通信,實現(xiàn)手機端對單片機的控制。

    Android Studio制作手機App:通過手機藍牙(Bluetooth)與STM32上的低功耗藍牙(HC-42)連接通信,實現(xiàn)手機端對單片機的控制。

    背景: 本文的內容是針對單片機藍牙模塊(HC-42)開發(fā)的手機App。在這之前,我想先聲明一點,手機與手機間的藍牙連接方式”與“手機與HC間的藍牙連接方式”是不一樣的。原因就是手機搭配的是“經典藍牙”模塊,HC等藍牙屬于“低功耗藍牙”模塊。(二者的區(qū)別想了解的

    2024年02月04日
    瀏覽(28)
  • HC05藍牙模塊與手機APP連接

    說明 :我們可以通過TTL轉USB模塊使電腦和HC05相連 ,通過電腦藍牙串口進行調試 我們上電時應該按住復位鍵再上電,這樣才能進入AT模式(下圖軟件設置也能進入AT模式),否則是配對模式。 另外我們電腦串口波特率應該設置為38400 (AT模式都為38400) 注 :物理狀態(tài):AT模式下

    2024年02月06日
    瀏覽(89)
  • Android手機無法連接HC-05藍牙模塊

    ???????這學期選的畢業(yè)設計中需要用到藍牙模塊與Android手機通信,于是我就在淘寶購買了一款HC-05的藍牙模塊,到貨之后首先使用藍牙模塊連接USB-TTL模塊,然后再插入到電腦的USB插孔上進行調試,一開始進入AT模式(我購買的這一款進入AT模式時那個按鍵需要多按一會兒,

    2023年04月24日
    瀏覽(96)
  • Arduino藍牙模塊與手機通信---實現(xiàn)藍牙控制LED

    Arduino藍牙模塊與手機通信---實現(xiàn)藍牙控制LED

    當使用 Arduino 進行藍牙通信時,我們可以輕松地實現(xiàn)與其他藍牙設備之間的數(shù)據(jù)交換。藍牙通信在各種物聯(lián)網(wǎng)和遠程控制應用中非常有用,因為它提供了無線連接和簡便的數(shù)據(jù)傳輸。在本篇博客中,我們將介紹如何在 Arduino 上設置藍牙通信,并進行基本的數(shù)據(jù)傳輸。 1. 介紹

    2024年02月08日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包