STM32F407+蓝牙HC-05+手机蓝牙助手

本文介绍了如何使用STM32单片机配合HC-05蓝牙模块,通过STM32CubeMX配置、Keil编写代码,实现手机蓝牙控制单片机小灯的亮灭。详细步骤包括设置蓝牙模块、配置串口、编写接收数据处理函数等。
摘要由CSDN通过智能技术生成

突然想试试怎么玩蓝牙模块,本文演示工程较为简单,最后结果为通过手机蓝牙助手控制单片机上小灯的亮灭。

用到的软件:STM32CubeMX、Keil、串口调试助手XCOM 、蓝牙调试宝(手机蓝牙调试助手)

用到的硬件:32单片机、HC-05蓝牙模块、USB转TTL模块

本文在了解如何使用STM32CubeMX、Keil的基础上进行。

配置蓝牙模块

首先配置蓝牙HC-05。

通过USB转TTL模块(CH340)将HC-05模块与电脑建立连接,是为了初始化配置蓝牙模块。

注意:

只需连接四个引脚

蓝牙  —— TTL(下面一一对应)

VCC —— VCC

GND —— GND

TXD —— RXD

RXD —— TXD

先将USB转TTL模块与蓝牙模块连接好后,按住蓝牙模块上的小按键不动,将USB接口插到电脑上之后再松手,此做法是为了让蓝牙模块上电时以“命令响应模式”连接电脑。

以“命令响应模式”成功上电后,蓝牙模块上的小灯会进入慢闪状态。

然后我们打开串口调试助手XCOM,对蓝牙模块进行配置。

在设备管理器端口处通过拔插USB转TTL模块可以知道要连接的是哪一个端口,然后在XCOM中选择相应串口。向HC-05写AT指令时波特率为38400,停止位1,数据位8,奇偶校验无。配置完成后打开串口。(左下角默认勾选“发送新行”)

AT指令
指令响应注释
AT+ORGLOK恢复默认状态
AT+RESETOK模块复位
AT+ADDR?

+ADDR:Param 

OK

获得蓝牙模块地址
AT+VERSION?

+VSRSION:Param

OK

获得软件版本号
AT+ROLE=ParamOK

Param参数取值如下:

0-从角色;1-主角色;

2-回环角色;默认值:0

AT+CMODE=1OK蓝牙连接模式为任意地址连接模式,设置后该模块可以被任意蓝牙设备连接
AT+NAME=ParamOK

设置设备名称 

Parm:想要设置的名字

AT+NAME?

+NAME:Param 

OK

获取设备名称
AT+PSWD=ParamOK

设置模块密码 :

Parm:想要设置的密码;

默认为“1234”

AT+PSWD?

+PSWD:Param 

OK

获得模块密码

AT+UART=Param1,Param2,Param3

OK

设置串口参数

Param1:波特率 ;

Param2:停止位 ;

Param3:校验位。

注意:

停止位:0 —— 1位

AT+UART?

+UART:Param1,Param2,Param3 

OK

获得串口参数
AT指令错误0、1、2、3指令错误or指令结果为默认值or设备不支持

对HC-05蓝牙模块进行设置:

将此蓝牙模块设置为从模式、连接模式为任意地址连接、自定义名称和密码;

设置串口参数为:

波特率9600,停止位1,校验位0.(即AT+UART=9600,0,0)

到这里蓝牙模块的配置就完成了。

CubeMX+Keil

此处省略CubeMX的基础配置......

开启两个小灯。

配置串口和波特率等参数。

使能中断

添加DMA传输通道

更新代码到Keil

写一段代码......

void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{
	if(huart == &huart3)
		{
			HAL_UART_Transmit_DMA(&huart3, receiveDate, Size);			
			
			if (receiveDate[0] == 0xAA)                 //验证数据,翻转小灯,发送数据较长
			{
				if(receiveDate[1] == Size)
				{
					uint8_t sum = 0;
					for (int i = 0; i < Size - 1; i++)
					{
						sum += receiveDate[i];
					}
					
					if (sum == receiveDate[Size - 1])
					{
						for (int i = 2; i < Size - 1; i += 1)
						{
							switch (receiveDate[i])
							{
								case 01 : HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_5); break;
								case 02 : HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_6); break;
							}
						}
					}
				}
			}
			HAL_UARTEx_ReceiveToIdle_DMA(&huart3, receiveDate, sizeof(receiveDate));
		}
}

此处代码参考b站keysking的蓝牙模块视频,在这不做讲解。

将蓝牙模块于单片机连接,注意RXD——TXD、TXD——RXD,供电。

噢,不要忘记烧代码。

连接手机蓝牙

先将手机蓝牙打开,将手机蓝牙与你命名的蓝牙模块配对(我前面命名的Wcz)

我使用安卓系统手机下载了一个叫“蓝牙调试宝”的软件。

授权进去,可以查找到附近的蓝牙设备

点击连接

根据所写代码发送数据(代码里面加了检验,数据较长)

通过手机发送数据控制小灯亮灭。

这就完成了,通过手机蓝牙助手向蓝牙模块传输数据,来实现对小灯的控制。从这个简单的思路出发,可以完成更多的sao操作,要我们自己去玩代码咯。

最后

想玩玩蓝牙,刚刚学会,写下来,仅以此博客来记录一下我的学习。也希望能帮到你。

### 回答1: 您好,HC蓝牙助手是一款非常实用的蓝牙设备管理应用程序。您可以在应用商店(如苹果App Store或安卓应用市场)中搜索并下载该应用。 下载HC蓝牙助手后,您可以通过该应用连接蓝牙设备并进行相关设置。它支持连接和管理各种类型的蓝牙设备,包括蓝牙耳机、音箱、键盘、鼠标、打印机等等。通过该应用,您可以方便地查找并连接到附近的蓝牙设备。 此外,HC蓝牙助手还提供了更多功能和选项。您可以在应用中设置蓝牙设备的名称、配对密码以及其他相关参数。它还可以帮助您管理已连接的设备,如断开连接、删除设备等。如果您需要使用蓝牙发送或接收文件,也可以使用HC蓝牙助手来完成这个任务。 总之,HC蓝牙助手是一款方便实用的应用程序,可以帮助您管理和连接蓝牙设备。无论您是想连接无线音箱听音乐,还是连接键盘鼠标进行办公,都可以通过下载HC蓝牙助手来实现这些功能。希望这个回答对您有帮助! ### 回答2: HC蓝牙助手是一款功能强大的蓝牙设备管理应用程序,可以帮助用户连接、配置和控制各种蓝牙设备。该应用程序提供了简单易用的界面和丰富的功能,适用于各种使用蓝牙设备的场景。 用户可以通过HC蓝牙助手来连接蓝牙耳机、音箱、键盘、鼠标等各种蓝牙设备,并进行配对和设置。通过这个应用程序,用户可以方便地管理所有连接的蓝牙设备,实现无线的音频传输、数据传输和控制。 除了连接和配置蓝牙设备,HC蓝牙助手还提供了一些实用的功能。比如,用户可以通过该应用程序搜索附近的蓝牙设备,查看它们的详细信息,并进行筛选和排序。用户还可以通过应用程序中的文件传输功能,在蓝牙设备之间进行文件的传输和共享。 HC蓝牙助手还内置了一些蓝牙测试工具,可以帮助用户检测蓝牙设备的连接状态、信号强度和传输速率等。这些工具可以帮助用户发现和解决蓝牙设备的问题,提供更好的使用体验。 总的来说,HC蓝牙助手是一款功能丰富、易于使用的蓝牙设备管理应用程序,可以帮助用户方便地连接、配置和控制各种蓝牙设备。无论是在家庭、办公室还是其他场景中,该应用程序都能提供便捷的蓝牙设备管理解决方案。你可以在应用商店搜索HC蓝牙助手,下载并体验。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值