自学内容网 自学内容网

蓝牙模块(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 PB10
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10; //PB10
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//复用推挽输出
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化 PB10

//USART3_RX PB11
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //浮空输入
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化 PB11

USART_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); //初始化串口 3
  USART_Cmd(USART3, ENABLE);//使能串口
  USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//使能接收中断 
  //设置中断优先级
  NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0 ;//抢占优先级 2
  NVIC_InitStructure.NVIC_IRQChannelSubPriority =0; //子优先级 3
  NVIC_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';
}
  } 
} 

四、实验效果 

五、资料获取

项目分享


原文地址:https://blog.csdn.net/qq_44016222/article/details/142755946

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!