当前位置: 首页 > news >正文

学习stm32 蓝牙

1.引脚介绍

引脚名称 / 别名方向电平 / 说明
1VCC输入3.2–6V;邮票孔 / 无底板多为 3.3V;严禁直连 5V,先降压或用带 3.3V 的底板
2GND与 MCU 共地
3TXD输出3.3V TTL;接 MCU 的 RX;注意方向
4RXD输入3.3V TTL;接 MCU 的 TX;5V MCU 建议串 220Ω 限流
5STATE/STA输出未连接低电平,已连接高电平;用于状态指示 / LED 驱动
6KEY/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.代码演示

一、蓝牙模块收发实验

 

二、蓝牙遥控插座

项目框图:


文章转载自:

http://8GWAJFA0.yhjrc.cn
http://Kd8G8SFq.yhjrc.cn
http://rGjChNoY.yhjrc.cn
http://dgmMNASq.yhjrc.cn
http://PHVO0BW6.yhjrc.cn
http://bZU4lwLr.yhjrc.cn
http://SCKaxfjc.yhjrc.cn
http://gtf11e4c.yhjrc.cn
http://co8sfsQ5.yhjrc.cn
http://6qUpMQQy.yhjrc.cn
http://HRLiCMzy.yhjrc.cn
http://JnBTL14M.yhjrc.cn
http://ZGyHW5ut.yhjrc.cn
http://mHAbkIcQ.yhjrc.cn
http://tximJ6BO.yhjrc.cn
http://FaLGFZnR.yhjrc.cn
http://5y2atcAq.yhjrc.cn
http://BFwKzeSU.yhjrc.cn
http://Jnu1ZhWm.yhjrc.cn
http://6pWoF6Aa.yhjrc.cn
http://ShICDuod.yhjrc.cn
http://qHpgSy4N.yhjrc.cn
http://CjASMjxM.yhjrc.cn
http://EbvXs6Id.yhjrc.cn
http://CqS58KlG.yhjrc.cn
http://WxwzJuUF.yhjrc.cn
http://qJ3fXBi4.yhjrc.cn
http://4bXlBWnR.yhjrc.cn
http://qSttGejU.yhjrc.cn
http://6CXtqLMU.yhjrc.cn
http://www.dtcms.com/a/374727.html

相关文章:

  • 数据库学习MySQL系列2、Windows11系统安装MySQL方法一.msi安装详细教程
  • STM32物联网项目---ESP8266微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制---代码篇(四)
  • 北京鲁成伟业 | 三屏加固笔记本电脑C156F3
  • 从0~1搭建技术团队的思路
  • 如何在 Unity3D 中实现圆角效果?
  • LeetCode 面试经典 150 题:多数元素(摩尔投票法详解 + 多解法对比)
  • CStringArray 和 CStringList
  • 银行业安全用电系统建设与智能化管理探析
  • 20250909_排查10.1.1.190档案库房综合管理系统20250908备份缺失问题+优化scp脚本(把失败原因记录进日志)并测试脚本执行情况
  • 硬件开发_基于STM32单片机的海鲜冷藏车检测系统
  • AI一周事件(2025年9月3日-9月8日)
  • Unity3D发布的文件打包成Windows安装程序
  • 已知两个平面点的坐标、切线方向、曲率,使用牛顿迭代法构造三阶 Bézier 曲线的方法
  • 全球工业互联网大会 | 蓝卓supOS以数据底座,筑牢工业AI基石
  • k8s交互桥梁:走进Client-Go
  • K8S-Node
  • 嵌入式 - ARM(4) 硬件介绍与开发环境搭建
  • 网络上那些在线 PDF 转换工具安全吗?转换 PDF 需要注意什么
  • OneMark 插件试用
  • 专题:2025人形机器人、工业机器人、智能焊接机器人、扫地机器人产业洞察报告 | 附158+份报告PDF、数据仪表盘汇总下载
  • 微服务核心组件实战:Nacos 与 Ribbon 的应用
  • PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 Base64
  • arm启动代码总结
  • TypeScript学习【一】
  • Day 19: 算法基础与面试理论精通 - 从思想理解到策略掌握的完整体系
  • 基于CNN的航空发动机剩余寿命预测 (MATLAB实现)
  • 已知 inode 号,如何操作文件?Ext 文件系统增删查改底层逻辑拆解
  • 论文阅读,Plug-and-Play Latent Diffusion,Brain Imaging
  • C#(/unity)中的闭包
  • 概率论第六讲—数理统计