实战项目(2)STM32cubeMX配置蓝牙模块

简介: 实战项目(2)STM32cubeMX配置蓝牙模块

前言

本篇文章带大家了解并学会使用蓝牙模块

一、蓝牙模块介绍

JDY31蓝牙模块

JDY-31 蓝牙基于蓝牙 3.0 SPP 设计,这样可以支持 Windows、Linux、android 数据透传,

工作频段 2.4GHZ,调制方式 GFSK,最大发射功率 8db,最大发射距离 30 米,支持用户通过

AT 命令修改设备名、波特率等指令,方便快捷使用灵活。


蓝牙接线方式

VCC-3.3V

GND-GND

TXD-RXD

RXD-TXD


二、cubeMX配置及代码解析

1.cubeMX配置

1.选择型号

2.设置晶振

3.开启串口中断和设置波特率

这里选择的是串口3大家根据自己的接线选择串口号

4.设置时钟树

5.设置一个灯用来检测蓝牙功能

6.创建工程

2.代码解析

蓝牙大家可能会觉得很高大上其实不然他和串口的使用方法是完全一样的,

下面就给大家讲解蓝牙代码的编写。

//灯LED1的IO定义
#define LED1_RESET() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET) //设置LED1低电平
#define LED1_SET() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) //设置LED1高电平
u8 RX_dat=0;//接收变量
u8 TX[]="Hello";
//回调函数
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  if(huart->Instance == USART3)
  {
    if(RX_dat==0xa1)
    {
       LED1_SET();
      HAL_UART_Receive_IT(&huart3,&RX_dat,1);//启动接收函数
    }
    else if(RX_dat==0xa2)
    {
      LED1_RESET();
      HAL_UART_Receive_IT(&huart3,&RX_dat,1);//启动接收函数
    }
  }
}
HAL_UART_Transmit(&huart3,TX,sizeof(TX),10000);//开机发送Hello
while(1)
{
  HAL_UART_Receive_IT(&huart3,&RX_dat,1);
}

总结

蓝牙大家不用觉得可怕使用起来和串口是一样的。大家有问题可以留言或者私信,喜欢的朋友点个赞。

相关文章
|
6月前
【STM32】NRF24L01模块的收发调试(三)
【STM32】NRF24L01模块的收发调试
191 0
|
6月前
【STM32】NRF24L01模块的收发调试(二)
【STM32】NRF24L01模块的收发调试
126 0
|
6月前
【STM32】NRF24L01模块的收发调试(一)
【STM32】NRF24L01模块的收发调试
182 0
|
4月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
705 0
|
5月前
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
679 2
|
5月前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
558 1
|
4月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
158 0
|
4月前
|
数据安全/隐私保护
STM32F103C8T6实现简易密码锁(CubeMax配置)(一),Oled显示。
项目功能:实现设置密码,登陆密码,后期还可以通过E2PROM实现掉电不丢失数据。通过Oled的显示去判断我们是否设置或者登陆成功。
|
5月前
|
芯片
【STM32】详解RTC实时时钟的概念和配置&示例代码
【STM32】详解RTC实时时钟的概念和配置&示例代码