STM32 Cubemax(八) ——利用HC-05实现两个单片机之间的通信

STM32 Cubemax(八) ——利用HC-05实现两个单片机之间的通信


前言

之前我们写过利用HC-05来实现单片机与手机的通信,这期,我们将使用HC-05来实现,单片机与单片机之间的通信。
想利用HC-05实现单片机与单片机之间的通信,与单片机与手机的不同之处在于,我们需要利用AT指令
来对HC-05进行主从定义。

一、硬件准备

我们想要用AT指令去控制HC-05,就需要使用的USB转TTL模块
在这里插入图片描述
按照如下接线

USB转TTL模块 HC-05
RX TX
TX RX
VCC VCC
GND GND

插入电脑的USB口即可连接上蓝牙模块。

二、软件介绍

这里给一下我使用的给蓝牙写AT指令的软件,个人感觉还是挺方便的。也可以使用普通的串口软件。
本连接中包含软件和AT指令集。

链接:https://pan.baidu.com/s/1blScCYDUjFX4dcFvBOhfAw
提取码:nqki

在这里插入图片描述
使用这个软件时,有如下几点需要注意!!!

1.蓝牙模块使用时,想进入AT模式,要在上电前,即USB插入电脑前,一直按住HC-05上的按键key上电,只有这样蓝牙模块才能进入AT模式。

2.我们之前使用HC-05通信时,说过通信的波特率默认都是9600,而这里我们将使用蓝牙模块的固定波特率38400进行设置,所以在下栏,我们要使用38400的波特率
在这里插入图片描述

3.我们点击搜索端口,当搜索成功后,表示我们已经成功打开了,我们可以点击获取模块信息,来获取当前蓝牙模块的一些信息,注意!!!,这里我们在点击获取信息时也需要一直按住HC-05上的按键

4.发送AT指令记得最后要打换行!!

三、利用软件使用AT指令修改蓝牙模块主从关系

要实现两个蓝牙之间的连接,主要有以下几个步骤
一,设定两个蓝牙的主从关系
二.将其中一个蓝牙地址绑定另外一个蓝牙.

1.设定两个蓝牙的主从关系

我们通过获取模块信息.可以得到如下界面.
而后我们使用AT+ROLE=1 将HC_05_01的蓝牙设定为主角色
并使用AT+CMODE=1 将连接模式也设为主角色.
另外一个蓝牙就可以使用AT+ROLE=0AT+CMODE=0来设定为从角色和连接模式为从角色
在这里插入图片描述

2.绑定两个蓝牙的地址

我们记录主蓝牙模块的本机MAC地址,并在从蓝牙模块中使用AT+BIND=?,?,?来绑定主蓝牙模块的地址
在这里插入图片描述

3.一些注意

连接时还需要注意以下问题.
1.两个蓝牙模块的连接密码和访问码要确保一致,不过一般如果你没有改过,都是一致的

2.两个蓝牙模块的通讯波特率要一致!

四、通信测试

按照上述测试完成后,就可以根据正常的蓝牙收发来进行操作了.如果还不会的话,可以参考如下博客.
STM32 Cubemax(二)——串口实现HC-05蓝牙模块与手机通信

发送端的代码如下

printf("Num is %d",i);
i++;
HAL_Delay(1000);

接收端成功接收
在这里插入图片描述

总结

蓝牙还有很多AT指令,如果有兴趣的话,我的百度网盘链接里有详细介绍.

猜你喜欢

转载自blog.csdn.net/lzzzzzzm/article/details/119492481