IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> HC05蓝牙模块AT指令与手机蓝牙控制STM32板载LED -> 正文阅读

[嵌入式]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 */
}
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:12:15  更:2022-09-24 21:15:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 13:16:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码