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

您所在的位置:网站首页 hc06蓝牙模块 实战项目(2)STM32cubeMX配置蓝牙模块

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

2023-08-05 22:43| 来源: 网络整理| 查看: 265

文章目录 前言一、蓝牙模块介绍二、cubeMX配置及代码解析1.cubeMX配置2.代码解析 总结

前言

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

一、蓝牙模块介绍

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); } 总结

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3