HC05蓝牙模块AT指令与手机蓝牙控制STM32板载LED
本文讲述了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相关推荐
- HC-05蓝牙模块AT指令设置教程
HC-05蓝牙模块AT指令设置教程 进入AT指令模式 上电前先按住蓝牙模块上的按键,接通电源,模块上的led灯进入慢闪后再松开按键,此时已经进入AT指令模式,可以进行AT指令设置 引脚接线 蓝牙模块 ...
- 【DX-BT24蓝牙模块-AT命令与手机透传教程】
[DX-BT24蓝牙模块-AT命令与手机透传教程] 1. 前言 1.1.串口基本参数 1.2.AT命令模式和透传模式 1.3.模块数据吞吐量 2. 接线 2.1 模块线序定义 2.2 相关AT命令详解 ...
- 【DX-BT24蓝牙模块连接Arduino与手机透传教程】
[DX-BT24蓝牙模块连接Arduino与手机透传教程] 1. 前言 2. 接线 3. 程序设计详解 4. 演示效果 5. 小结 1. 前言 大夏龙雀科技DX-BT24&BT24-S& ...
- M0B100P0蓝牙模块AT指令
M0B100P0蓝牙模块AT指令 M0B100P0蓝牙模块简介 一.AT指令功能简介 二.透传模式下的数据传输 1.使用APP对BLE模块发送数据,并且通过串口输出数据: 2.通过串口往BLE发送数据 ...
- HC-05蓝牙模块AT指令调试
HC-05蓝牙模块在AT模式下的波特率和正常模式下的波特率不是一回事,在AT模式下的波特率是我们没办法进行修改的,他永远都是固定的38400,而在正常模式下的波特率我们是可以在AT模式下通过AT指令集 ...
- HC-05蓝牙模块学习(两个蓝牙模块连接互发信息)
目录 1.进入AT模式和连接前注意事项 2.实现两个蓝牙完美配对 3.HC-05_1初始化配置 4.HC-05_2初始化配置 5.HC-05_1与HC-05_2绑定 6.设置模块通信波特率&通 ...
- 蓝牙模块 hc06 linux,[Arduino]HC-06蓝牙模块使用小结
简介 蓝牙,顾名思义,蓝色的牙齿,并不能用来咬人,而是一种无线数据传输标准. HC-05和HC-06是现在使用较多的两种蓝牙模块.两者之间的区别是HC-05是主从一体机,既能向自己的'主子'打小报告, ...
- 蓝牙最新版本6.0_手机蓝牙连接汽车放歌。放30秒就没声音了是什么坏了?
展开全部 车载蓝牙的驱动比较旧,32313133353236313431303231363533e59b9ee7ad9431333433656632可尝试使用手机最低版本的蓝牙传送试一下. 1.先检查 ...
- linux禁用蓝牙模块,[原创]CVE-2020-12351:Linux蓝牙模块拒绝服务漏洞分析
一. 漏洞信息 1. 漏洞简述 CVE-2020-12351是谷歌安全研究人员在Linux内核中发现的蓝牙安全漏洞.该漏洞位于net/bluetooth/l2cap_core.c,是一个基于堆的类型混 ...
- android 蓝牙耗电量,外媒测试手机蓝牙耗电情况:近乎毫无影响
IT之家8月31日消息 关于手机蓝牙常开是否加快电量消耗这一问题,外媒 AndroidAuthority 做了一个测试,其利用三星 Galaxy S20+,华为 P40 Pro,中兴 Axon 11, ...
最新文章
- Linux Bash小结1
- gitlab常用命令
- 生物版AlphaGo发威!DeepMind出手抗疫:预测多种新冠病毒相关蛋白结构
- 零基础Python学习路线图,小白的进阶之路!
- 图解在Windows下使用vim(gvim)
- 【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!...
- mysql生成uui mybatis_mybatis----基础
- 看完这些自动化原理图,有一种豁然开朗的感觉
- MySQL教程(二)—— 关于在ACCESS中使用SQL语句
- 不造AI杀人武器当然好,但牛津学者觉得马斯克们忽略了重点
- [QT入门篇]编程基础知识
- 3. DICOM图像层级分类-DCMTK-数据字典避坑
- BI报表工具:IT人的必备工具!
- win oracle卸载工具,[转]oracle windows 之完美卸载
- 本地Ping不通华为云服务问题解决
- Vue-router路由转发
- python中词云图是用来描述_Python如何实现中国地图词云图
- android文本自动添加图片,Android textView文字添加图片 imageSpan使用
- 最小割问题-Karger‘s algorithm
- 剑指offer刷题记录(上)