蓝牙模块(BT04/HC05)

目录

一、介绍

二、模块原理

1.原理图与外形尺寸

2.引脚描述

3.蓝牙模块基础AT指令介绍

三、程序设计

usart3.h文件

usart3.c文件

四、实验效果 

五、资料获取

项目分享


一、介绍

        BT04A是一款蓝牙低功耗(Bluetooth Low Energy, BLE)模块,它主要用于物联网(IoT)设备之间的无线通信,特别是那些需要长电池寿命的应用场景。此模块支持蓝牙4.0标准,能够提供高速的数据传输速率以及低功耗特性,适合于穿戴设备、智能家居控制、健康监测等应用。

以下是BT04A蓝牙模块的参数:

型号

BT04-A

工作电压

3.3~5V

蓝牙模式

从模式

最大距离

10M

配对码

1234

串口参数

9600810

工作频段

2.4 GHz ISM频段

哔哩哔哩视频链接:

蓝牙模块(BT04 HC05)

(资料分享见文末) 

二、模块原理

1.原理图与外形尺寸

2.引脚描述

引脚名称

描述

RXD

信息接收端

TXD

信息发送端

GND

电源负极

VCC

电源正极

用于指示蓝牙模块所处状态,LED灯闪烁方式与蓝牙模块状态对应见表

3.蓝牙模块基础AT指令介绍

注意:发AT指令时必须回车换行,只能在模块未连接状态下才能生效。

三、程序设计

使用STM32F103C8T6通过串口调试助手(APP)控制LED亮灭

BT04_TX

PB11

BT04_RX

PB10

LED

PA0

串口

串口1

main.c文件

#include "stm32f10x.h"
#include "led.h"
#include "usart.h"
#include "delay.h"
#include "oled.h"
#include "usart3.h"/*****************辰哥单片机设计******************STM32* 项目			:	蓝牙模块通信实验                     * 版本			: V1.0* 日期			: 2024.10.2* MCU			:	STM32F103C8T6* 接口			:	参看usart3.h							* BILIBILI	:	辰哥单片机设计* CSDN			:	辰哥单片机设计* 作者			:	辰哥 **********************BEGIN***********************/u8 dakai;
u8 Flag_dakai;int main(void)
{ SystemInit();//配置系统时钟为72M	delay_init(72);LED_Init();LED_On();USART1_Config();USART3_Config();printf("Start \n");delay_ms(1000);while (1){if(dakai==1&&Flag_dakai==0){LED_On();Flag_dakai=1;printf("1 \n");}if(dakai==0&&Flag_dakai==1){LED_Off();Flag_dakai=0;printf("0 \n");}}
}

usart3.h文件

#ifndef __USART3_H
#define __USART3_H#include "stm32f10x.h"                  // Device header
#include "oled.h"
#include "usart.h"/*****************辰哥单片机设计******************STM32* 项目			:	蓝牙模块通信实验                     * 版本			: V1.0* 日期			: 2024.10.2* MCU			:	STM32F103C8T6* 接口			:	参串口3						* BILIBILI	:	辰哥单片机设计* CSDN			:	辰哥单片机设计* 作者			:	辰哥 **********************BEGIN***********************/void USART3_Config(void); //串口 3 初始化#endif

usart3.c文件

#include "usart3.h"	/*****************辰哥单片机设计******************STM32* 项目			:	蓝牙模块通信实验                     * 版本			: V1.0* 日期			: 2024.10.2* MCU			:	STM32F103C8T6* 接口			:	串口3						* BILIBILI	:	辰哥单片机设计* CSDN			:	辰哥单片机设计* 作者			:	辰哥 **********************BEGIN***********************///串口1中断服务程序//初始化 IO 串口 3//pclk1:PCLK1 时钟频率(Mhz)//bound:波特率  
void USART3_Config()
{ NVIC_InitTypeDef NVIC_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//GPIOB 时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE); //串口 3 时钟使 USART_DeInit(USART3); //复位串口 3//USART3_TX PB10GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10; //PB10GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//复用推挽输出GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化 PB10//USART3_RX PB11GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //浮空输入GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化 PB11USART_InitStructure.USART_BaudRate= 9600; //波特率设USART_InitStructure.USART_WordLength=USART_WordLength_8b; //8 位数据格USART_InitStructure.USART_StopBits = USART_StopBits_1; //一个停止USART_InitStructure.USART_Parity = USART_Parity_No; //无奇偶校验USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//无硬件数据流USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//收发模式USART_Init(USART3, &USART_InitStructure); //初始化串口 3USART_Cmd(USART3, ENABLE);//使能串口USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//使能接收中断 //设置中断优先级NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0 ;//抢占优先级 2NVIC_InitStructure.NVIC_IRQChannelSubPriority =0; //子优先级 3NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ 通道使能NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化 NVIC 寄存器
}
extern u8 Flag_dakai,dakai;void USART3_IRQHandler(void)
{ u8 Res; if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)//接收到数据{ Res =USART_ReceiveData(USART3);if(Res=='1'){dakai=1;Res='5';}			if(Res=='2'){dakai=0;Res='5';}						} 
} 

四、实验效果 

五、资料获取

项目分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1558498.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

(RAG)技术结合了大模型(LLM)与内部数据,从而实现更智能且相关性更高的 AI 应用

利用先进的生成式 AI 技术(如 RAG),释放数据的潜力,推动创新并获取战略优势 主要功能 使用向量数据库优化数据检索和生成 通过 AI 代理提升决策效率并自动化工作流程 克服实施真实 RAG 系统中的常见挑战 购买印刷版或 Kindle …

股指期货和股指期权有什么区别?

在金融衍生品的世界里,股权类衍生品无疑是其中的佼佼者,而股指期货和股指期权更是其中的佼佼者。尽管它们之间有着千丝万缕的联系,但它们之间的区别同样不容忽视。本文衍生股指君将详细解析股指期货和股指期权的核心区别。 一、交易的东西不…

数据库软题7-数据库设计

一、概念结构设计 题1-ER图的属性分类 题2-局部ER图的冲突分类 1.命名冲突 命名冲突有同名异义,异名同义2.结构冲突 结构冲突分为:统一实体不同属性,同一对象在不同关系里可能为属性或者实体 教师其实就是职工,他们有不同的属性…

5.将扩散模型应用于具有特殊结构的数据

虽然扩散模型在图像和音频等数据应用领域中取得了巨大的成功,但他们不一定能无缝地转移到其他模态上。在许多重要的领域,数据有特殊的结构。为了让扩散模型有效运作,必须考虑并处理这些特殊结构。比如,经典扩散模型所依赖的分数的…

「JVS更新日志」低代码、智能BI、逻辑引擎10.9功能更新说明

项目介绍 JVS是企业级数字化服务构建的基础脚手架,主要解决企业信息化项目交付难、实施效率低、开发成本高的问题,采用微服务配置化的方式,提供了 低代码数据分析物联网的核心能力产品,并构建了协同办公、企业常用的管理工具等&am…

SDUT数据结构与算法第二次机测

目录 7-1 括号匹配 7-2 后缀式求值 7-3 表达式转换 7-4 【模板】KMP字符串匹配 比较详细注释和图解请看KMP——字符串匹配-CSDN博客,(点击链接可跳转)一看就会 7-5 约瑟夫环(押题,重要) 7-6 单调栈&a…

迪士尼数据泄露事件:全面审视数据安全策略与未来防护方向

迪士尼数据泄露事件概述 一、 事件背景以及影响 在全球数字化转型加速的浪潮中,数据安全已成为企业运营不可忽视的基石。 华特迪士尼公司,作为全球知名的娱乐传媒巨头,其数据泄露事件无疑为业界敲响了警钟。此次事件不仅揭示了数据保护的严…

Pymysql cur.fetchall() 返回 None

大家在pymysql 的 cur.fetchall() 函数通常用于获取执行 SQL 查询后的所有结果。该函数返回一个包含查询结果的元组列表。如果 cur.fetchall() 返回 None,可能是由于以下多种问题导致的。 1、问题背景 在使用 Pymysql 库连接到 MySQL 数据库时,遇到这样…

YOLOv5改进——普通卷积和C3模块更换为GhostConvV2卷积和C3GhostV2模块

目录 一、GhostNetV2核心代码 二、修改common.py 三、修改yolo.py 三、建立yaml文件 四、训练 一、GhostNetV2核心代码 在models文件夹下新建modules文件夹,在modules文件夹下新建一个py文件。这里为GhostV2.py。复制以下代码到文件里面。 # TODO: ghostnetv…

好用的免费录屏软件推荐,让软件操作教程制作不再困难

录屏软件就像是我们做教程或者玩游戏时的“小助手”,它能帮我们把屏幕上的东西都记录下来,让视频看起来更高大上。今天我就给你推荐三款免费的好货,用它们做教程,保证让你轻松又开心。 1. 福昕录屏大师 虫洞 https://www.foxits…

【读书笔记·VLSI电路设计方法解密】问题4:今天的设计环境中使用的主要工艺技术是什么

主流的工艺技术是互补金属氧化物半导体(CMOS)技术。其他技术还包括双极性、双极CMOS(biCMOS)、绝缘体上硅(SOI)和砷化镓(GaAs)。 在CMOS技术中,"互补对称"指的…

SD入门教程一:Stable Diffusion 基础(技术篇)

前言 在开篇的时候就大致讲了SD和VAE,那么今天我们具象化地再来讲讲Stable Diffusion(稳定扩散)。 严格说来它是一个由几个组件(模型)构成的系统,而非单独的一个模型。我以最常见的文生图为例,…

大型保险公司进行营销活动时,如何与外部客户实现文件安全外发?

大型保险公司为了吸引新客户、维护老客户、提升品牌形象以及推广特定的保险产品,会定期向外部客户或潜在客户发送营销文件。在客户签单后,保险公司会将客户相关的签单个人文件发送给客户。因此,大型保险公司内部存在较为频繁且重要的文件安全…

安装DNS

在 CentOS 7 上安装并配置 BIND 以实现 DNS 的正向和反向解析可以按照以下步骤进行: 安装 BIND 打开终端并运行以下命令来安装 BIND 及其工具: yum install bind bind-utils -y配置 BIND 编辑主配置文件: 使用文本编辑器打开 BIND 的主配…

电商价格监测的创新之路

在当今数字化高速发展的时代,电商如汹涌的浪潮席卷了商业的每一个角落。品牌们在这片广阔的电商海洋中奋力前行,而价格监测则成为了他们手中至关重要的罗盘。 力维网络以其专业的价格监测服务,为品牌在电商之海的航行点亮了一盏明灯。然而&a…

多节点网络流量监控与网络性能优化的利器——轻松实现高效管理

目录 为什么网络性能监控如此重要? 多节点网络流量监控如何优化网络性能? 实例:AnaTraf如何帮助企业解决网络故障 了解更多 随着企业网络规模的不断扩大,维护网络性能的复杂性日益增加。如何实时监控网络流量、快速排查网络故…

网安加·百家讲坛 | 潘继平:AI赋能DevOps平台:全面提升代码安全性

作者简介:潘继平,中国软协项目管理专委会专家,深圳市软件行业协会特聘专家。华为土耳其研究所外聘高级项目顾问,负责华为云应用生态圈产品线研发管理。曾为华为全球技术服务中心、华为制造IT以及华为流程IT解决方案提供等多个部门…

(二)、CT系统硬件构成

简单来说分为以下几个步骤来描述整个CT系统的运行流程: X射线管和探测器环绕被测物体,准直器进行高度准直X射线。X射线穿过被测物料时发生衰减,其中有两个探测器,一个是参考探测器记录和测量来自X射线管的辐射强度,另…

【C语言从不挂科到高绩点】28-数组综合运用

Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程!! 数组是我们在C语言学习过程中比较重要的一个知识点,也是在今后的学习与开发过程中经常会用到的技能,…

明达IO:赋能工业机器人新未来

摘要: 明达技术以其卓越的分布式IO(MR30)与一体式IO(MR20)产品,为工业机器人行业提供了完美的信号交互解决方案。在集群式机器人应用场景中,MR30分布式IO以其稳定性能和自由热插拔功能&#xf…