蓝牙模块(HC-05)连接手机与单片机控制详解

任务一:蓝牙与手机连接

所用模块

HC-05蓝牙模块,USB TO TTL手机APP为SPP蓝牙串口

第一章:蓝牙模块配置

一:HC-05与USB TO TTL连接

EN:为使能引脚,一般不接

VCC:接USB TO TTL模块的5v脚(3.3v不亮)

GND:接USB TO TTL模块的GND脚

TXD:接USB TO TTL模块的RXD脚

RXD:接USB TO TTL模块的TXD脚

STATE:状态引脚,一般不接

二:进入AT模式

按住按键的同时插上USB TO TTL,指示灯1S慢闪

三:设置参数

进入AT模式后,电脑连接串口助手,设置波特率为38400(AT模式下,默认)

依次发送以下指令,返回均为OK

1)AT:进入AT模式

2)AT+ORGL:恢复出厂设置,以防止该模块被其他人使用过

3)AT+PSWD=“XXXX”:设置匹配密码,最低4位(AT+PSWD?:查看蓝牙模块密码)

4)AT+NAME=XXX:设置蓝牙模块名字(AT+NAME?:查看蓝牙模块名字)

5)AT+UART=115200,0,0:设置通信波特率,但不是AT模式波特率,波特率设置为115200,停止位和校验位为0(AT+UART?:查看波特率)

第二章:手机APP下载以及配置

一:手机应用商店下载SPP蓝牙串口APP

测试过几款应用,该应用比较好用

二:不按按键重新连接蓝牙模块

进入正常工作模式,此时波特率为115200,停止位和校验位为0

三:连接蓝牙

打开SPP蓝牙串口APP连接蓝牙即可发送接受数据

== 注意:==串口助手设置波特率为115200,手机APP设置为utf-8编码模式

任务二:蓝牙模块之间的相互通信

所用模块

两个HC-040蓝牙模块,两个USB TO TTL

第一章:蓝牙模块配置

一:连接HC-05与USB TO TTL(两个蓝牙均是)

EN:为使能引脚,一般不接

VCC:接USB TO TTL模块的5v脚(3.3v不亮)

GND:接USB TO TTL模块的GND脚

TXD:接USB TO TTL模块的RXD脚

RXD:接USB TO TTL模块的TXD脚

STATE:状态引脚,一般不接

二:进入AT模式(两个蓝牙均是)

按住按键的同时插上USB TO TTL,指示灯1S慢闪

三:设置参数

进入AT模式后,电脑连接串口助手,设置波特率为38400(AT模式下,默认)

(1)从蓝牙模块配置:

依次发送以下指令,返回均为OK

1)AT:进入AT模式

2)AT+ORGL:恢复出厂设置,以防止该模块被其他人使用过

3)AT+PSWD=“XXXX”:设置匹配密码,最低4位(AT+PSWD?:查看蓝牙模块密码)

4)AT+NAME=XXX:设置蓝牙模块名字(AT+NAME?:查看蓝牙模块名字)

5)AT+UART=115200,0,0:设置通信波特率,但不是AT模式波特率,波特率设置为115200,停止位和校验位为0(AT+UART?:查看波特率)

6)AT+ROLE=0:设置为从模式(0为从模式,2为回环角色(远程蓝牙)。AT+ROLE?:查看模式)

7)AT+ADDR?:查看从机地址,复制该地址用于主机连接,我用的从机地址为(98d3:91:fd3eb3)

(1)主蓝牙模块配置:

依次发送以下指令,返回均为OK

1)AT:进入AT模式

2)AT+ORGL:恢复出厂设置,以防止该模块被其他人使用过

3)AT+PSWD=“XXXX”:设置匹配密码,最低4位(AT+PSWD?:查看蓝牙模块密码)

4)AT+NAME=XXX:设置蓝牙模块名字(AT+NAME?:查看蓝牙模块名字)

5)AT+UART=115200,0,0:设置通信波特率,但不是AT模式波特率,波特率设置为115200,停止位和校验位为0(AT+UART?:查看波特率)

6)AT+ROLE=1:设置为主模式(0为从模式,2为回环角色(远程蓝牙)。AT+ROLE?:查看模式)

7)AT+BIND=98d3,91,fd3eb3:连接从机,(98d3,91,fd3eb3)为从机地址,“:”要变为”,“,(AT+BIND?;现连接地址)

8)AT+CMODE=0:当前连接模式(0为指定地址连接,1为任意地址连接模式,2为回环角色,默认为0)

第二章:蓝牙连接

一:不按按键重新连接蓝牙模块

进入正常工作模式,此时波特率为115200,停止位和校验位为0

二:蓝牙相互连接

观察蓝牙模块隔1S同时闪2下为连接成功,此时便可进行数据传递

==注:==数据传递过程为:电脑👉USB TO TTL👉主蓝牙👉从蓝牙👉USB TO TTL👉电脑

注意波特率为115200

任务三:蓝牙控制单片机LED灯亮灭(HAL库)

所用模块

两个HC-040蓝牙模块,两个USB TO TTL,STM32F103C8T6开发板

第一章:模块配置

同任务二

第二章:代码部分

一:STM32CubeMAX配置

二:keil5 mdk-arm配置

(1):main文件

1)

设一个参数,用来接受串口发送的数据

2)

加入HAL_UART_Receive_IT(&huart1,&g_ucUsart1ReceiveData,1);开启串口中断

(2)stm32f1xx_it.c文件

1)

调用参数g_ucUsart1ReceiveData接收数据

2)
使用中断回调函数发送接受数据,可以保证LED状态的实时性

物联沃分享整理
物联沃-IOTWORD物联网 » 蓝牙模块(HC-05)连接手机与单片机控制详解

发表评论