学习stm32 蓝牙

1.引脚介绍

引脚 名称 / 别名 方向 电平 / 说明
1 VCC 输入 3.2--6V;邮票孔 / 无底板多为 3.3V;严禁直连 5V,先降压或用带 3.3V 的底板
2 GND --- 与 MCU 共地
3 TXD 输出 3.3V TTL;接 MCU 的 RX;注意方向
4 RXD 输入 3.3V TTL;接 MCU 的 TX;5V MCU 建议串 220Ω 限流
5 STATE/STA 输出 未连接低电平,已连接高电平;用于状态指示 / LED 驱动
6 KEY/EN 输入 高电平≥200ms 清除已配对从机地址,便于更换从机

2.工作模式

一、核心工作模式分类

HC-08 的工作模式可分为 "AT 配置模式""串口透传模式",两种模式互斥,且与蓝牙连接状态强关联,具体差异如下表:

工作模式 核心功能 触发条件 蓝牙连接状态 典型用途
AT 配置模式 接收 AT 指令,配置模块参数(如设备名、波特率) 1. 模块上电后 未建立蓝牙连接 ; 2. 部分固件支持 KEY 引脚触发强制配置 未连接(待机) 模块初始化参数设置
串口透传模式 透明传输 UART 串口数据与 BLE 无线数据 1. 模块上电后 建立蓝牙连接 ; 2. 部分固件支持 AT 指令强制进入 已连接(主从通信) 实际数据传输(如传感器、控制指令)

二、关键辅助模式(基于硬件 / 参数配置)

除核心模式外,HC-08 还可通过硬件引脚或 AT 指令配置 "配对模式""主从角色模式" 等,这些模式是实现特定通信逻辑的基础:

1. 配对模式(清除已配对信息)

HC-08 默认会记忆已配对的从机地址,若需更换通信对象,需先清除配对记忆,对应两种触发方式:

  • 硬件触发(KEY 引脚)
    模块上电后,将 KEY 引脚接高电平(≥3.3V)并保持 ≥200ms (建议 300ms),松开后模块会清除所有已配对的从机地址,进入 "待新配对" 状态(STATE 引脚低电平)。
    注意:KEY 引脚仅用于清除配对,不直接切换工作模式,操作后仍需通过连接状态判断核心模式。
  • AT 指令触发
    在 AT 配置模式下,发送 AT+CLEAR 指令(具体指令需参考模块固件手册,部分固件为 AT+RESET 间接实现),可远程清除配对信息,无需硬件接线。
2. 主从角色模式(决定通信发起方)

HC-08 支持通过 AT 指令配置为 "主机模式""从机模式",默认多为从机模式(更常用),两种角色差异如下:

角色模式 核心逻辑 适用场景 配置指令(示例)
从机模式(默认) 被动等待其他 BLE 设备(如手机、主机模块)连接,不主动发起连接 模块作为 "数据从设备"(如传感器模块、控制执行器),需被手机 / MCU 主机连接 AT+ROLE=0(0 = 从机)
主机模式 主动扫描指定 BLE 设备(需提前配置目标从机地址)并发起连接 模块作为 "数据主设备"(如 MCU 控制核心),需主动连接传感器从机 AT+ROLE=1(1 = 主机); AT+SLA=XX:XX:XX:XX:XX:XX(设置目标从机地址)

三、模式切换逻辑与状态指示(STATE 引脚)

HC-08 的工作模式切换完全依赖 蓝牙连接状态,而 STATE 引脚(状态输出)可直观反映当前状态,便于硬件判断或 LED 指示,具体对应关系如下:

STATE 引脚电平 蓝牙连接状态 对应工作模式 模块行为
低电平 未连接(待机) AT 配置模式 可接收 AT 指令配置参数;不传输业务数据
高电平 已连接(通信中) 串口透传模式 不响应 AT 指令;UART 数据与 BLE 数据透明传输
高低电平闪烁(部分固件) 正在扫描 / 配对中 过渡状态(非稳定模式) 扫描周围 BLE 设备或等待配对,未进入稳定工作

四、典型应用场景下的模式切换流程

以 "手机连接 HC-08 传输传感器数据" 为例,完整模式切换与工作流程如下:

  1. 模块上电初始化
    VCC 接 3.3V、GND 共地,TXD/RXD 接传感器(如温湿度传感器)的 UART 引脚;STATE 引脚低电平,模块进入 AT 配置模式
  2. AT 指令配置参数
    通过 MCU 或 USB-TTL 模块向 HC-08 发送 AT 指令,如:
    • AT+NAME=HC08_TEMP(设置设备名为 "HC08_TEMP");
    • AT+BAUD=8(设置串口波特率为 115200bps,需与传感器波特率一致);
      配置完成后,发送 AT+RESET 重启模块,参数生效。
  3. 手机发起连接,进入透传模式
    手机蓝牙搜索 "HC08_TEMP" 并配对连接;连接成功后,HC-08 的 STATE 引脚变为高电平,自动切换为 串口透传模式
  4. 数据透传
    传感器通过 UART 发送温湿度数据(如 "25.5C, 60% RH"),HC-08 自动将串口数据转为 BLE 无线信号发送给手机;手机发送的控制指令(如 "开启报警"),也会通过 BLE 转为串口数据,由 HC-08 的 TXD 引脚输出给传感器。
  5. 断开连接,返回配置模式
    手机断开蓝牙连接后,HC-08 的 STATE 引脚恢复低电平,自动退出透传模式,回到 AT 配置模式,可重新配置参数或等待新连接。

五、注意事项

  1. 模式切换的不可逆性(连接后)
    一旦 HC-08 建立蓝牙连接(进入透传模式),将不再响应任何 AT 指令;若需重新配置,必须先断开蓝牙连接(如手机主动断开、模块断电重启)。
  2. 主从模式的兼容性
    主机模式下,HC-08 需提前通过 AT+SLA 指令设置目标从机的 BLE 地址(需从从机模块的 AT 配置中获取),否则无法主动扫描到指定设备。
  3. 固件差异导致的指令不同
    不同厂商生产的 HC-08 模块可能存在固件差异,部分 AT 指令(如清除配对、设置功率)的格式可能不同(如 AT+CLEAR vs AT+PAIR=0

3.AT指令

蓝牙模块的 AT 指令用于配置模块参数(如设备名、波特率、主从角色等),需在 AT 配置模式(模块未建立蓝牙连接时)下使用。

HC-08 蓝牙模块 AT 指令四类分类表

指令类型 核心格式 核心功能 关键说明
测试指令 AT + <X> = ? 验证模块与串口通信链路是否通畅,确认模块是否正常响应 是所有 AT 操作的 "前置检查",仅返回 "OK" 代表通信正常,指令需大写
查询指令 AT + <X> ? 读取模块当前已配置的参数(如设备名、波特率、蓝牙地址等) 用于获取模块当前状态,响应格式通常为 "+ 指令名:参数值",帮助确认配置是否符合需求
设置指令 AT + <X> = <......> 自定义修改模块参数(如修改设备名、切换主从模式、设置配对密码等) 参数需符合模块规定格式(如波特率用特定代码、设备名有长度限制),多数修改需重启模块后生效
执行指令 AT + <X> 触发模块立即执行预设操作(如重启、清除配对记录、恢复出厂设置) 操作即时生效,无需额外配置参数,部分指令(如恢复出厂)会清除原有配置,需谨慎使用

常用AT指令

指令类型 指令格式 功能描述 响应示例 备注
测试指令 AT 测试模块是否响应,验证通信链路 OK 必须大写,是所有操作的基础检查
信息查询 AT+VERSION? 查询固件版本号 +VERSION:V1.0.0 不同版本支持的指令可能有差异
信息查询 AT+NAME? 查询当前设备名称 +NAME:HC-08 蓝牙搜索时显示的名称
信息查询 AT+BAUD? 查询当前串口波特率 +BAUD:9600 返回当前实际波特率值
信息查询 AT+ROLE? 查询主从角色模式 +ROLE:SLAVE 返回 "SLAVE"(从机)或 "MASTER"(主机)
信息查询 AT+ADDR? 查询模块蓝牙地址 +ADDR:AA:BB:CC:DD:EE:FF 模块唯一标识地址
参数设置 AT+NAME=<名称> 设置蓝牙设备名称 OK+NAME:MyDevice 名称最长 16 字节,需重启生效
参数设置 AT+BAUD=<代码> 设置串口波特率 OK+BAUD:115200 代码对应:3=9600,6=115200(见说明)
参数设置 AT+ROLE=<0/1> 设置主从角色(0 = 从机,1 = 主机) OK+ROLE:MASTER 从机模式默认,主机需配合目标地址设置
参数设置 AT+PIN=<4位数字> 设置蓝牙配对密码 OK+PIN:1234 部分固件默认无需密码
参数设置 AT+SLA=<从机地址> 主机模式下指定连接的从机地址 OK+SLA:AA:BB:CC:DD:EE:FF 仅主机模式有效
执行操作 AT+RESET 重启模块(使参数修改生效) OK+RESET 重启后新配置生效
执行操作 AT+CLEAR 清除所有已配对设备信息 OK+CLEAR 部分固件用AT+PAIR=0替代
执行操作 AT+ORGL 恢复出厂设置(重置所有参数) OK+ORGL 谨慎使用,会清除所有自定义配置

说明:

  1. 波特率代码对应关系(通用标准):

    • 0=1200,1=2400,2=4800,3=9600(默认)
    • 4=38400,5=57600,6=115200,7=230400
  2. 所有指令需在模块未建立蓝牙连接时使用(STATE 引脚低电平),连接后进入透传模式,AT 指令无效。

  3. 指令必须大写,部分模块需在指令末尾添加回车符(\r)或回车换行符(\r\n),可通过串口助手测试确认。

4.通信示意图

5.代码演示

一、蓝牙模块收发实验

'

二、蓝牙遥控插座

项目框图:

相关推荐
药9553 小时前
STM32开发(USART总线:UART总线)
stm32·单片机·嵌入式硬件
索迪迈科技3 小时前
STM32F103C8T6开发板入门学习——点亮LED灯2
stm32·嵌入式硬件·学习
David WangYang3 小时前
技巧:调试 SCPI 和 VISA 自动化(包括 NI I/O 跟踪)
stm32·单片机·自动化
Learn Beyond Limits4 小时前
The learning process of Decision Tree Model|决策树模型学习过程
人工智能·深度学习·神经网络·学习·决策树·机器学习·ai
JXNL@4 小时前
什么是PFC控制器
单片机·嵌入式硬件
凯尔萨厮5 小时前
Java学习笔记三(封装)
java·笔记·学习
Wallace Zhang5 小时前
STM32F103_Bootloader程序开发15 - 从Keil到vscode + EIDE + GCC的迁移实践
stm32·gcc·eide
YoungUpUp5 小时前
【文件快速搜索神器Everything】实用工具强推——文件快速搜索神器Everything详细图文下载安装教程 办公学习必备软件
学习·everything·文件搜索·实用办公软件·everything 工具·文件快速搜索·搜索神器
RaLi和夕5 小时前
单片机学习笔记.C51存储器类型含义及用法
笔记·单片机·学习