【STM32】HC-05蓝牙模块

本文介绍了HC-05蓝牙模块的特性,包括其默认的从机模式、串口透传和AT指令模式。在串口透传模式下,模块可扮演主、从或回环角色,而AT指令模式允许用户通过特定命令配置模块参数。讲解了如何通过KEY引脚切换工作模式,并列举了几个关键的AT指令示例。此外,还提到了如何利用开发板与蓝牙模块进行数据通信,并计划使用串口调试APP控制硬件设备,未来打算开发自己的蓝牙串口APP用于物联网项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模块介绍

HC-05是主从一体的蓝牙模块,默认为从机。既支持跟模块通信,也支持跟手机通信。具有两种工作模式:串口透传通信模式和AT指令模式。

  • 串口透传通信模式下模块又可分为主( Master)、从( Slave)和回环( Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接设备并进行数据传输。比如跟手机蓝牙连接,可通过手机APP给蓝牙模块发送数据。
  • AT指令模式时能执行下述所有 AT 命令,用户可向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。关于AT指令下面再讲。

可通过模块KEY引脚输入高低电平,实现两种工作模式的转换。

AT指令

AT 指令不区分大小写,均以回车、换行字符结尾\r\n

注意:发送AT指令设置蓝牙模块前,需将模块的KEY引脚切换成AT指令模式。当模块处于串口透传通信模式时,发送的AT指令只会当作一串字符串处理,并不会改变模块的设置。

进入AT指令状态的方法:

  1. 上电同时或上电之前将KEY设置为高电平,上电后,模块即进入AT指令状态
  2. 模块上电后,通过将KEY设置为高电平,使模块进入AT指令状态。

AT指令结构:

  • 设置指令:AT+<CMD><=PARAM> 设置模块参数

      AT + ROLE = 1或0 						设置模块为主机或从机
      AT + UART = 9600,0,0  				设置通信波特率、停止位、校验位
    
  • 查询指令:AT+<CMD>? 查询模块参数

     AT + ROLE ?							返回模块角色状态
     AT + VERSION ?							返回版本信息
    

在这里插入图片描述

传输数据

HC-05模块除了VCC和GND引脚之外,就是负责数据通信的TX引脚RX引脚 ,这两个引脚就和串口通信的引脚是一个道理。数据的收发都是通过这两个引脚实现的。我使用的是正点原子战舰开发板,板上有HC-05蓝牙模块的对应插槽。其实就是通过插槽,把模块的TX和RX与USART3的RX和TX连接。这样开发板就可以借助串口3,来读取蓝牙模块的通信数据。
在这里插入图片描述
使用蓝牙模块时,必须像图中一样安好跳线帽,这样才能将USART3的收发端口与蓝牙模块的收发端口连接在一起。

通信波特率:
方法1进入AT指令状态,模块波特率为38400
方法2进入AT指令状态,模块波特率和通信波特率相同

代码

Gitee上自取:传送门

功能实现

在手机上找到一款很棒的串口调试APP,用手机APP连接蓝牙模块,可发送字符串控制开发板上的外设工作。
在这里插入图片描述
通过APP可以接收到开发板搭载的蓝牙模块发过来的温湿度、光强数据,还可以自定义按钮,发送特定的字符串,比如”LED ON“、”BEEP ON“来控制硬件设备的工作状态。

后面准备自己也用Android studio开发一个蓝牙串口APP,用到自己的物联网项目中去。

<think>好的,用户想要查找关于STM32HC-05蓝牙模块的配置、使用、教程以及连接方法的资料。首先,我需要回顾一下用户提供的三个引用内容,看看里面有哪些关键信息可以用来回答这个问题。 首先,引用[1]提到如何连接STM32HC-05,包括接口的连接方式(RXD-TXD交叉连接,VCC和GND对应),以及如何进入AT配置模式(按住按钮上电,进入慢闪状态)。还提到使用PC的串口助手进行配置,这可能是一个重要的步骤。 引用[2]详细说明了HC-05的配置模式进入方法,AT指令的使用,包括波特率设置为38400,常用的AT指令如AT+NAME、AT+PSWD等,以及如何测试模块状态。这里的信息对于配置蓝牙模块非常关键,用户可能需要具体的AT指令列表和配置步骤。 引用[3]提到了连接时可能遇到的供电问题,建议通过开发板供电而不是USB转TTL直接供电,避免识别问题。这可能是一个常见的陷阱,需要提醒用户注意。 接下来,我需要将这些信息组织成一个结构清晰的回答,涵盖连接步骤、配置模式进入、AT指令使用、供电问题解决以及示例代码。同时,按照用户的要求,生成相关问题。 需要注意的是,用户可能希望了解具体的硬件连接图、详细的AT指令示例、常见问题解决方法(比如无法进入配置模式、指令无响应等),以及如何通过STM32的代码实现蓝牙通信。此外,供电问题也是一个需要强调的点,避免用户遇到连接不稳定的情况。 在组织回答时,应该分步骤进行,每个步骤都包含关键点和注意事项,并引用对应的来源。例如,在连接硬件部分,引用[1]和[3]的信息;在配置模式部分,引用[2]和[1]的步骤。 最后,生成的相关问题应该覆盖用户可能进一步关心的方面,如代码示例、AT指令详解、常见错误排查、供电优化以及应用实例,这样可以引导用户深入了解更多细节。</think>### STM32HC-05蓝牙模块配置及使用教程 #### 1. 硬件连接 - **接口连接**:将HC-05的`RXD`与STM32的`TXD`(如USART2的PA2)、`TXD`与STM32的`RXD`(如PA3)交叉连接,`VCC`和`GND`分别接开发板的3.3V和GND[^1][^3]。 - **供电注意**:若使用USB转TTL直接连接HC-05可能出现供电不足,建议通过STM32开发板为HC-05供电。 #### 2. 进入配置模式 1. **操作步骤**:按住HC-05模块上的按钮后上电,模块LED进入2秒周期慢闪状态,表示已进入AT指令配置模式[^2]。 2. **波特率设置**:配置模式下,串口助手需使用固定波特率**38400**。 #### 3. AT指令配置 通过串口助手发送以下常用指令(每条指令需换行): - 测试连接:`AT`(返回`OK`表示正常) - 修改名称:`AT+NAME=<新名称>`(如`AT+NAME=MyHC05`) - 设置配对码:`AT+PSWD=<密码>`(如`AT+PSWD=1234`) - 查询地址:`AT+ADDR?` - 恢复出厂设置:`AT+ORGL` #### 4. STM32程序配置 - **初始化USART**:配置USART为异步模式,波特率通常设为**9600**(通信模式)或**38400**(配置模式)。 - **示例代码片段**: ```c // USART2初始化(以STM32F103为例) void USART2_Init(void) { GPIOA->CRL |= 0x00008B00; // PA2(TX)推挽输出,PA3(RX)浮空输入 USART2->BRR = 0x1D4C; // 波特率9600@72MHz USART2->CR1 |= USART_CR1_UE | USART_CR1_TE | USART_CR1_RE; } ``` #### 5. 常见问题解决 - **指令无响应**:检查接线是否正确(RXD/TXD交叉)、波特率是否为38400、模块是否进入配置模式。 - **供电不稳定**:避免单独使用USB转TTL供电,建议通过开发板供电。 - **无法配对**:确认手机与模块波特率一致,检查配对码是否正确。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值