蓝牙模块(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状态的实时性
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/96757.html