第2章 HC-05/HC-06模块详解:从引脚到AT指令

好,咱们直接进入正题。HC-05和HC-06这两个模块,可以说是STM32蓝牙开发里最常见的搭档了。我刚开始做蓝牙项目那会儿,也在这俩兄弟身上栽过跟头——说白了,它们长得像,脾气可不一样。

2.1 模块引脚定义:别接错了

先看引脚。HC-05和HC-06的引脚排列基本一致,但有个关键区别——EN引脚。我见过不少新手直接把HC-05当HC-06用,结果死活进不了AT模式。嗯,这里要注意。

引脚名称 功能说明 连接建议
VCC 电源正极,3.6V~6V 推荐3.3V或5V,我习惯用3.3V
GND 电源地 与STM32共地
TXD 模块发送,接STM32的RX 注意交叉连接
RXD 模块接收,接STM32的TX 注意交叉连接
STATE 状态指示(仅HC-05) 可接GPIO检测连接状态
EN 使能/AT模式控制(仅HC-05) 高电平进入AT模式
⚠ 避坑提醒: 我曾经把HC-05的EN引脚悬空,结果模块一直处于透传模式,AT指令发出去石沉大海。后来才意识到——EN引脚必须拉高才能进AT模式。HC-06没有EN引脚,上电就是AT模式,这一点完全不同。

2.2 AT指令集与配置模式

AT指令,说白了就是模块的“控制语言”。你通过串口发一串字符,模块就按你的意思干活。HC-05和HC-06的AT指令大部分通用,但有些细节不一样。

2.2.1 进入AT模式

HC-05进AT模式有个固定流程:

  1. EN引脚拉高(3.3V)
  2. 模块上电或复位
  3. 等待1~2秒,模块以38400波特率启动
  4. 发送AT测试指令

HC-06就简单了——上电直接进AT模式,默认波特率9600。我个人习惯在调试时先用USB转TTL模块单独测试,确认模块正常再接到STM32上。

2.2.2 常用AT指令表

指令 功能 返回示例
AT 测试连接 OK
AT+NAME=xxx 设置蓝牙名称 OK
AT+PSWD=1234 设置配对码 OK
AT+UART=9600,0,0 设置波特率 OK
AT+ROLE=0 设置为主/从模式 OK
AT+ADDR? 查询模块地址 +ADDR:1234:56:789ABC
💡 小技巧: 发送AT指令时,记得每条指令末尾加回车换行(\r\n)。我刚开始用串口助手时忘了加,折腾了半小时才发现——模块不认裸指令。

2.3 主从模式设置

HC-05支持主从切换,HC-06固定为从机。你想想看,如果两个模块都是从机,谁主动发起连接?所以主从模式必须搞清楚。

2.3.1 模式对比

模式 AT指令 适用场景
从机模式 AT+ROLE=0 手机连接模块,最常见
主机模式 AT+ROLE=1 模块主动连接另一个从机
回环模式 AT+ROLE=2 测试用,不常用

我在一个项目中需要两个STM32通过蓝牙通信,当时用了两个HC-05,一个设为主机,一个设为从机。主机端用AT+CMODE=0指定连接目标地址,再用AT+BIND=地址绑定从机。嗯,这样上电就能自动连接。

2.4 波特率与配对码配置

这两个参数直接影响通信稳定性和安全性。我建议你按项目需求来配,别图省事用默认值。

2.4.1 波特率配置

HC-05默认AT模式波特率38400,透传模式默认9600。HC-06默认9600。配置指令格式:

AT+UART=<波特率>,<停止位>,<校验位>
// 示例:设置115200,1位停止位,无校验
AT+UART=115200,0,0

停止位参数:0=1位,1=2位。校验位参数:0=无,1=奇校验,2=偶校验。我个人习惯用115200,速度够快,STM32的USART也支持。

⚠ 注意: 改完波特率后,模块会立即生效。如果你用串口助手调试,记得同步修改串口波特率。我曾经改完忘了调,还以为模块坏了——其实它只是在新的波特率下等你。

2.4.2 配对码配置

默认配对码是1234,但项目交付时最好改掉。配置指令:

AT+PSWD=xxxx
// 示例:设置配对码为8888
AT+PSWD=8888

配对码长度支持4~16位数字。我建议用6位以上,安全性好一些。不过要注意,改了配对码后,之前配过对的设备需要重新配对。

2.5 知识体系总览

下面这张图把本章的核心知识点串起来了,你看一眼就能明白模块配置的完整流程。

HC-05/HC-06 模块配置知识体系 模块引脚定义 VCC/GND TX/RX STATE / EN(HC-05特有) AT指令集与配置模式 HC-05:EN拉高 HC-06:直接进入 主从模式设置 主机(ROLE=1) 从机(ROLE=0) 波特率配置 配对码配置 配置流程总结 1. 确认模块型号(HC-05 / HC-06) 2. 正确连接引脚(注意EN和交叉TX/RX) 3. 进入AT模式 → 设置主从 → 配置波特率 → 修改配对码 4. 保存配置 → 重新上电 → 进入透传模式

2.6 实战配置示例

最后给一个完整的配置流程,你照着做一遍就能跑通:

  1. 硬件连接:HC-05的VCC接3.3V,GND接GND,TXD接STM32的PA10(RX),RXD接PA9(TX),EN接3.3V
  2. 上电:模块指示灯慢闪(每2秒一次),表示进入AT模式
  3. 发送AT测试:收到OK,说明通信正常
  4. 配置名称:AT+NAME=STM32-BLE
  5. 配置配对码:AT+PSWD=8888
  6. 设置从机模式:AT+ROLE=0
  7. 配置波特率:AT+UART=115200,0,0
  8. 保存并重启:重新上电,模块进入透传模式

🔑 核心要点:HC-05和HC-06最大的区别就是EN引脚和主从能力。选型时想清楚——如果只需要手机连模块,HC-06就够了,便宜又简单。如果需要模块之间通信,必须用HC-05。