STM32系列——手把手教你蓝牙模块HC05、HC06的使用,重在“用起来”(HAL库)

article/2025/10/30 12:21:06

前言

不论是HC05还是HC06,我们用到的都是蓝牙模块的透传功能,只需要用到4个引脚:RXD、TXD、VCC(5V)、GND。

HC-05的使用

1、HC-05有6个引脚,但是我们只用到4个。

2、HC-05正面有一个按键。与HC-06的区别是,它上电之前必须要按住此按键再插入电脑中,才能够进入AT模式。HC-06没有按键,直接插上就进入AT模式,蓝牙模块闪慢灯(1s1次)。

3、用一个usb转ttl模块与HC-05连接,usb转ttl模块与电脑连接,使用串口调试助手,在蓝牙模块的AT模式下可以用一些AT指令与蓝牙模块进行交互。

蓝牙模块默认波特率是38400,把停止位设置成1,数据位设置成8,校验位设置为none。

HC-05常用AT指令:

指令名                       响应                                含义

AT+NAME?              +NAME:Param OK         获得设备名称

AT+NAME=Param   OK                                  设置设备名称  Parm:想要设置的名字

AT+ROLE=0                                                    蓝牙模块为从模式

AT+CMODE=1                                                蓝牙模式设置为任意地址连接模式,可以被任意设备连接

AT+PSWD=1234                                             蓝牙配对密码为1234

AT+UART=9600,0,0                                        设置蓝牙通信波特率为9600,停止位1位,无校验位

HC-06的使用

HC-06与HC-05不同的是 :

 1、 HC-05一般都是主从机一体,既可以设置为主机也可以设置为从机。
  而HC-06在市场上分为两种情况,一种是:主从机一体;另外一种是:只有从机功能。

AT+ROLE设置主从模式: AT+ROLE?是查询主从状态;AT+ROLE=1是设成主;AT+ROLE=0是设成从。

 

这个默认波特率不是每个蓝牙模块都一样的,有的蓝牙模块默认波特率是115200,使用的时候需要看下商家资料。或者每个波特率试着改一下,总能试出来蓝牙模块的默认波特率。试成功的现象是AT模式下,通过电脑的串口助手,电脑能够和蓝牙模块正常通信。达到此效果后,手机连上蓝牙,肯定可以与单片机进行通信。

HC-06常用AT指令

一般只用前3个即可。

蓝牙模块连上手机与STM32通信

 将蓝牙模块配置好以后,再次上电,打开手机蓝牙调试助手,这里推荐两个app:“蓝牙调试器”和“蓝牙调试宝”,实测好用;在app内连上蓝牙模块,此时蓝牙模块就相当于连接手机与单片机的桥梁,在stm32中写一些程序,就可以实现手机与stm32通信了。

注意:单片机的波特率一定要配置得和蓝牙模块的波特率一致。

STM32程序

蓝牙实现手机与单片机通信的原理就是使用串口,所以单片机中进行cubmx配置和写串口的程序就可以了;这里大家可以参考一下我的这篇文章,里面详细介绍了stm32串口基本使用:STM32系列——串口收发数据基础

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/*宏定义*/
uint8_t RX_dat = 0;void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)//串口中断服务函数
{if(huart->Instance == USART1)//判断是否为串口1{if(huart->Instance == USART1){if(RX_dat == 'a')//接收到字符a{//写上要执行的内容HAL_UART_Receive_IT(&huart1,&RX_dat,1);//每次接收以后都要再次开启接收中断}else if(RX_dat == 'b')//接收到字符b{//写上要执行的内容HAL_UART_Receive_IT(&huart1,&RX_dat,1);//每次接收以后都要再次开启接收中断}}}
}
/* USER CODE END 0 */
  /* USER CODE BEGIN 2 */    HAL_UART_Receive_IT(&huart1,&RX_dat,1);//开启接收中断/* USER CODE END 2 */

 手机app发送数据端

手机app发送数据端可能需要配置一下,要将发送的数据格式与程序中写的接收数据的格式对应,否则手机发送的数据单片机可能也接收不到。 


http://chatgpt.dhexx.cn/article/aYYAky2A.shtml

相关文章

基于 OSGi的企业级开发框架实践——认识OSGi和SpringDM

一. OSGi基础 1. 什么是OSGi OSGi——Open Service Gateway Initiative,最初的目的是为各种嵌入式设备提供通用的软件运行平台。后来经过10年的发展和壮大,OSGi已经不只是在嵌入式设备中应用,而是被推广到各种其他的应用领域,比如…

Kotlin + Spring Boot: 下一代企业级开发

Kotlin Spring Boot: 下一代企业级开发 前端 React UXCore (使用 nowa)学习 Jietu20171210-022532.jpg Jietu20171210-022551.jpg image.png 工程源代码:https://github.com/KotlinSpringBoot/wekool

《Qt 企业级开发》

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 《Qt 企业级开发》 是亮哥专门打造的一个 Qt 终极篇 专栏,主要面向企业级一站式开发,包括:模块化开发、日志输出、打包发布、单元测试、自…

BladeX企业级开发平台商业版源码,BladeXAvue联合版

BladeX企业级开发平台 BladeX是一款精心设计的微服务架构,提供 SpringCloud 全套解决方案 开源中国首批完美集成 SpringCloud Alibaba 系列组件的微服务架构 基于稳定生产的商业项目升级优化而来,更加贴近企业级的需求 追求企业开发更加高效&#xff0c…

JAVA企业级开发技术

传统框架 SpringMVC(表现层)Struts2(表现层)Mybatis(数据层)Hibernate(数据层)SpringData Jpa(数据层) 开发中比较常见的组合: SSM : Spring-SpringMVC-MybaitsSSH :Spring-Struts2-hibernate 2017年热门开发框架 Springboot快捷开发,封装牛逼,简单入门 SpringCloud 通过Spr…

Spring Boot 企业级开发课后题答案

Spring Boot 企业级开发课后题答案 黑马程序员 加粗字体为答案 转发请注明出处【感谢】 第一章 1.1 填空题 Pivotal 团队在原有 spring 框架的基础上开发了全新的Spring Boot框架。Spring Boot框架在开发过程中大量使用 约定优先配置 的思想来摆脱框架中各种复杂的手动配置。…

SpringBoot企业级开发

根据书籍《SpringBoot企业级开发教程》梳理SpringBoot开发框架,代码在本人Mac运行通过,IDE是IntelliJ。 SpringBoot知识图谱: 链接:https://pan.baidu.com/s/1CXMCMBimTPk8kUYir4JETg 提取码:bnpb 部分截图&#…

企业级应用开发(SSM) Spring

目录 一:引言 1.1企业级系统: 1.2那么如何去应对企业级应用开发 1.3 Spring的绿草丛 二:Spring的绿草丛 2.1 Spring 介绍 2.2 Spring两大核心技术 a.控制反转(IoC(Inversion of Control) / 依赖注入(DI)&#xf…

2019泰迪杯C题案例分析-python大数据自动化数据挖掘

第七届“泰迪杯”数据挖掘挑战赛——C 题:运输车辆安全驾驶行为的分析 一、问题背景二、研究问题三、分析问题excel的批量处理时间、速度、方向角的处理经纬度的处理大数据处理的优化 一、问题背景 车联网是指借助装载在车辆上的电子标签通过无线射频等识别技术&am…

利用SPSS Modeler进行数据挖掘——探究不同程序语言的就业情况

欢迎加入程序员QQ交流群~~:859022876 程序员 本次SPSS Modeler项目实战,是我个人课余做的一个简单案例,因为本人也是互联网大家庭中的一员,因此最关心的必定是程序语言的未来走势和就业情况,于是…

数据挖掘实战—餐饮行业的数据挖掘之数据探索(EDA)

文章目录 引言一、前期准备1.目标定义与任务理解 二、数据采集与抽样三、数据探索1.数据质量分析1.1缺失值分析1.1.1缺失值可视化1.1.2描述性统计1.1.3统计缺失数与缺失率 1.2异常值分析1.2.1 3σ原则1.2.2箱型图分析 1.3一致性分析1.4重复数据处理 2.数据特征分析2.1分布分析2…

数据挖掘实战—餐饮行业的数据挖掘之数据预处理

文章目录 引言一、数据清洗1.缺失值处理1.1 拉格朗日插值法1.2牛顿差值法 2.异常值的处理 二、数据集成1.实体识别2.冗余属性识别3.数据变换3.1 简单函数变换3.2 规范化3.2.1 最小-最大规范化3.2.2 零-均值规范化(标准化)3.2.3 小数定标规范化 3.3 连续属…

数据挖掘案例:建立客户流失模型

随着市场竞争的加剧,中国电信面临的压力越来越大,客户流失也日益增大。从统计数据看,今年固话小灵通的销户数已经超过了开户数。面对如此严峻的市场形式,当务之急就是要尽全力减少客户的流失。因此,利用数据挖掘方法&a…

数据挖掘实战案例——客户细分

我们首先来看看原始数据 具体代码与原始数据可以在我的GitHub中git clone一下学习 代码与数据github地址 共26663条数据 此次分析是想对根据客户的购买情况对客户进行细分 分析用户的购买消费行为 首先读取csv import pandas as pd #import numpy as np trad_flow pd.read_…

浅谈数据挖掘

一、数据挖掘起源 人们迫切希望能对海量数据进行深入分析,发现并提取隐藏在其中的信息,以更好地利用这些数据。但仅以数据库系统的录入、查询、统计等功能,无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势…

Python数据分析挖掘案例:Python爬虫助力疫情数据追踪

通过学习Python数据分析挖掘案例,可以掌握通过Python爬虫获取的数据进行处理以及可视化分析的主要方法和技能,并为后续相关课程学习及将来从事数据分析工作奠定基础。 新冠病毒疫情在武汉突然爆发,确诊病例、疑似病例、死亡病例等数据牵动着每…

【数据挖掘案例】财政收入影响因素分析及预测模型

案例来源自《Python 数据分析与挖掘实战》第 13 章:财政收入影响因素分析及预测模型 案例目的:预测财政收入 1 数据的基本描述性分析 数据 字段含义 社会从业人数(x1 )、 在岗职工工资总额(x2)、社会消费品零售总额(x3)、城镇…

python数据挖掘案例系列教程——python实现搜索引擎

全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 今天我们使用python实现一个网站搜索引擎。主要包含两个部分。网站数据库的生成、搜索引擎。其中搜索引擎部分我们使用单词频度算法、单词距离算法、外部回值算法、链接文本算法、pag…

工业数据挖掘实例

智能的基础是智能决策,所有的决策都来自于分析。所以简单说所有的智能都是做好两件事:收集数据,使用数据。数据挖掘技术根据业务数据不同有不同的应用场景。在我以往工作中主要在以下领域有应用尝试: 市场营销:用数据…

[数据挖掘案例]逻辑回归LR模型实现电商商品个性化推荐

目录 一、问题描述 二、数据摸底 三、数据清洗和特征筛选 3.1 数据抽取和清洗 3.2 特征筛选:决策树 3.3 特征分布转换 3.4 特征共线性检查 四、模型搭建 4.1 数据集 4.2 模型训练 4.3 模型验证 五、模型上线效果跟踪 一、问题描述 在电商平台中&#xff…