本文讲述了HC-05蓝牙模块的配置和其与STM32F103单片机的连接。
代码使用HAL库函数编写。

AT指令配置HC-05蓝牙模块

常见的HC-05模块:

通过使用AT指令,我们对蓝牙模块可以进行查看版本号、波特率、配对密码、设置/查询设备名称等多达30多种配置方式。

蓝牙模块进入AT模式的方法

硬件连接:使用USB转TTL模块连接电脑和蓝牙模块。上电后模块板载指示灯可能是快闪状态。但进入AT模式后,板载灯为慢闪状态。

  • 法一:
    按住黑色按键(本质上是PIO11脚置高)后再上电即可进入AT模式,此时默认模特率为38400,上电后松开手就行;
  • 法二:
    直接上电,波特率默认为9600(蓝牙模块还没有被配置过),每次发送AT指令都需要按住按键。
    注意:一些模块两种方法都行。(太多的商家制作并售卖盗版模块,下文会讲到如何通过AT指令辨别是否为盗版模块)
    进入AT模式后,就可以在电脑端的串口助手上编写并发送AT指令了。各种串口助手都行,比如常见的XCOM2.1,我这里用的是野火的串口助手。

    每一条指令末尾都需要换行,因此这里勾上“发送新行”。

    然后就可以进入愉快的配置环节了。
    具体的AT指令可以参考网上,或者购买模块的时候商家给的用户手册。
    这里给出网盘资源链接。
    链接:https://pan.baidu.com/s/1pVDAF9EtUXxsWs0IWhBwCA?pwd=zl0k
    提取码:zl0k
    常用的AT指令有:


单片机代码部分:

由于本项目比较简单,就不封装成单独的板级支持包了,这里只需要更改main.c。
配置好模块之后,就可以进行愉快的代码编写过程了。注意cubemx配置串口的时候要使用你配置的蓝牙串口波特率,不然无法通信。

//include部分
#include "main.h"
#include "usart.h"
#include "gpio.h"
#include "string.h"  //字符串处理
char msg[40];   //返回信息
uint8_t rx;     //接收到的信息
//写在while循环之前,检验上电后代码是否正常运行/* USER CODE BEGIN 2 */uint8_t send[11]={"I am ready!"};HAL_UART_Transmit(&huart1,send,11,HAL_MAX_DELAY);/* USER CODE END 2 */
 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */HAL_UART_Receive(&huart1,&rx,1,HAL_MAX_DELAY);if(rx=='o')  //发送o则开灯{HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);strcpy(msg, "Successfully opened");HAL_UART_Transmit(&huart1,(uint8_t*)msg,19,HAL_MAX_DELAY);}else if (rx=='d') //发送d就关灯{HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);strcpy(msg, "LED is off");HAL_UART_Transmit(&huart1,(uint8_t*)msg,10,HAL_MAX_DELAY);}else {strcpy(msg, "Error happens");HAL_UART_Transmit(&huart1,(uint8_t*)msg,13,HAL_MAX_DELAY);}}/* USER CODE END 3 */
}

HC05蓝牙模块AT指令与手机蓝牙控制STM32板载LED相关推荐

  1. HC-05蓝牙模块AT指令设置教程

    HC-05蓝牙模块AT指令设置教程 进入AT指令模式 上电前先按住蓝牙模块上的按键,接通电源,模块上的led灯进入慢闪后再松开按键,此时已经进入AT指令模式,可以进行AT指令设置 引脚接线 蓝牙模块 ...

  2. 【DX-BT24蓝牙模块-AT命令与手机透传教程】

    [DX-BT24蓝牙模块-AT命令与手机透传教程] 1. 前言 1.1.串口基本参数 1.2.AT命令模式和透传模式 1.3.模块数据吞吐量 2. 接线 2.1 模块线序定义 2.2 相关AT命令详解 ...

  3. 【DX-BT24蓝牙模块连接Arduino与手机透传教程】

    [DX-BT24蓝牙模块连接Arduino与手机透传教程] 1. 前言 2. 接线 3. 程序设计详解 4. 演示效果 5. 小结 1. 前言 大夏龙雀科技DX-BT24&BT24-S& ...

  4. M0B100P0蓝牙模块AT指令

    M0B100P0蓝牙模块AT指令 M0B100P0蓝牙模块简介 一.AT指令功能简介 二.透传模式下的数据传输 1.使用APP对BLE模块发送数据,并且通过串口输出数据: 2.通过串口往BLE发送数据 ...

  5. HC-05蓝牙模块AT指令调试

    HC-05蓝牙模块在AT模式下的波特率和正常模式下的波特率不是一回事,在AT模式下的波特率是我们没办法进行修改的,他永远都是固定的38400,而在正常模式下的波特率我们是可以在AT模式下通过AT指令集 ...

  6. HC-05蓝牙模块学习(两个蓝牙模块连接互发信息)

    目录 1.进入AT模式和连接前注意事项 2.实现两个蓝牙完美配对 3.HC-05_1初始化配置 4.HC-05_2初始化配置 5.HC-05_1与HC-05_2绑定 6.设置模块通信波特率&通 ...

  7. 蓝牙模块 hc06 linux,[Arduino]HC-06蓝牙模块使用小结

    简介 蓝牙,顾名思义,蓝色的牙齿,并不能用来咬人,而是一种无线数据传输标准. HC-05和HC-06是现在使用较多的两种蓝牙模块.两者之间的区别是HC-05是主从一体机,既能向自己的'主子'打小报告, ...

  8. 蓝牙最新版本6.0_手机蓝牙连接汽车放歌。放30秒就没声音了是什么坏了?

    展开全部 车载蓝牙的驱动比较旧,32313133353236313431303231363533e59b9ee7ad9431333433656632可尝试使用手机最低版本的蓝牙传送试一下. 1.先检查 ...

  9. linux禁用蓝牙模块,[原创]CVE-2020-12351:Linux蓝牙模块拒绝服务漏洞分析

    一. 漏洞信息 1. 漏洞简述 CVE-2020-12351是谷歌安全研究人员在Linux内核中发现的蓝牙安全漏洞.该漏洞位于net/bluetooth/l2cap_core.c,是一个基于堆的类型混 ...

  10. android 蓝牙耗电量,外媒测试手机蓝牙耗电情况:近乎毫无影响

    IT之家8月31日消息 关于手机蓝牙常开是否加快电量消耗这一问题,外媒 AndroidAuthority 做了一个测试,其利用三星 Galaxy S20+,华为 P40 Pro,中兴 Axon 11, ...

最新文章

  1. Linux Bash小结1
  2. gitlab常用命令
  3. 生物版AlphaGo发威!DeepMind出手抗疫:预测多种新冠病毒相关蛋白结构
  4. 零基础Python学习路线图,小白的进阶之路!
  5. 图解在Windows下使用vim(gvim)
  6. 【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!...
  7. mysql生成uui mybatis_mybatis----基础
  8. 看完这些自动化原理图,有一种豁然开朗的感觉
  9. MySQL教程(二)—— 关于在ACCESS中使用SQL语句
  10. 不造AI杀人武器当然好,但牛津学者觉得马斯克们忽略了重点
  11. [QT入门篇]编程基础知识
  12. 3. DICOM图像层级分类-DCMTK-数据字典避坑
  13. BI报表工具:IT人的必备工具!
  14. win oracle卸载工具,[转]oracle windows 之完美卸载
  15. 本地Ping不通华为云服务问题解决
  16. Vue-router路由转发
  17. python中词云图是用来描述_Python如何实现中国地图词云图
  18. android文本自动添加图片,Android textView文字添加图片 imageSpan使用
  19. 最小割问题-Karger‘s algorithm
  20. 剑指offer刷题记录(上)

热门文章

  1. C1——supermap获取对象的中心位置
  2. POJ 3368 Frequent values
  3. A记录、CNAME、MX记录、NS记录的区别和联系
  4. 制作一个简单的选项卡插件
  5. PCB板子焊接注意事项及小技巧
  6. Nacos注册中心和配置中心
  7. R语言中的Factor到底是什么?
  8. 小学知识三角函数和差化积
  9. 人月神话札记:编程的苦恼和乐趣
  10. 怎么把计算机隐藏文件显示出来,隐藏文件夹怎么显示出来