当前位置: 首页 > news >正文

蓝牙模块(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状态的实时性

http://www.lryc.cn/news/238360.html

相关文章:

  • 安装 eslint 配置指南 及 遇到的一些问题记录
  • trzsz支持文件拖动到终端进行上传,类似lrzsz
  • Doris DDL和DML
  • NewStarCTF2023 Reverse方向Week3 ez_chal WP
  • 程序员如何“升级打怪”?我用了这几个“歪瓜”!
  • 模具制造厂ERP都有哪些牌子?模具制造厂ERP有什么用
  • FPGA语法相关知识合集
  • 2023年Java核心技术大会(Core Java Week 2023)-核心PPT资料下载
  • Vue3 源码解读系列(十五)——编译
  • gitlab安装配置及应用
  • Docker Volume: 实现容器间数据共享与持久化的利器
  • redis问题归纳
  • 改进YOLOv8:结合ConvNeXt V2骨干网络!使用MAE共同设计和扩展ConvNet
  • 基于SpringBoot+Vue的新能源汽车充电桩管理系统
  • Linux进程通信——消息队列
  • ArcGIS教程——ArcGIS工具-按线分割面
  • C语言进阶之冒泡排序
  • 零代码编程:用ChatGPT将SRT字幕文件批量转为Word文本文档
  • 力扣刷题第二十六天--二叉树
  • 电脑显示msvcp140_1.dll丢失的5个常用解决方法,亲测可修复
  • hive sql 行列转换 开窗函数 炸裂函数
  • Continuity” of stochastic integral wrt Brownian motion
  • 设置 wsl 桥接模式
  • [uni-app] uni.showToast 一闪而过问题/设定时间无效/1秒即逝
  • 7、信息打点——资产泄露CMS识别Git监控SVNDS_Store备份
  • 【运维篇】5.6 Redis server 主从复制配置
  • Hive语法,函数--学习笔记
  • LeetCode热题100——动态规划
  • 初识树(c语言)
  • 听GPT 讲Rust源代码--src/librustdoc(2)