学习stm32 蓝牙

发布于:2025-09-10 ⋅ 阅读:(131) ⋅ 点赞:(0)

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.代码演示

一、蓝牙模块收发实验

 

二、蓝牙遥控插座

项目框图:


网站公告


今日签到

点亮在社区的每一天
去签到