你好!这个栏目主要是我学习STM32的一些记录,这是我第一次写技术博客,目的有三个,第一是做一个记录,记录自己学了些什么,防止以后忘记,也利于以后复习,顺带还能检验自己学的是否到位,第二是希望能够帮助到正在学习STM32并且遇到相似问题的朋友,第三个目的是,我在记录时不仅会记录技术上的东西,也会记录一些心得体会等,所以也可以做个回忆,给以后的我留点乐子(看看当年的我有多么菜,哈哈)。
蓝牙模块以及其他需要的材料
我选用的蓝牙两个蓝牙模块分别是HC-05(主)和BT-04(从),其中HC-05即可以作为主机又可以作为从机,但BT-04只能作为从机,所以同样可以用两个HC-05模块实现功能,HC-05和BT-04的相关资料可以直接找购买的店家要,一般都会给全(不全的可以在正点原子的网站上找资料)。
我在实现两个蓝牙的连接的时候用的是两个USB转TTL串口模块将蓝牙模块连接到电脑上,其实还可以直接用单片机上的CH340G芯片代替一个USB转TTL模块,以正点原子的MiniSTM32F103RCT6为例,这个板子上的PA9和PA10用跳线帽分别连接上了TXD和RXD,将跳线帽拔掉就可以将开发板当作一个USB转TTL模块使用。
主要步骤
-
让两个蓝牙模块进入AT指令响应模式
这个步骤直接将两个蓝牙模块经USB转TTL模块连接上电脑即可,不过要注意连接HC-05模块时需要将KEY接高电平,否则不能进入AT指令响应模式。还有一点是注意波特率的设置(HC-05为38400,BT-04是9600)。成功后可发送AT(或AT\r\n)来测试,测试结果:
-
设置HC-05模块为主模式
在HC-05串口调试窗口向其发出AT+ROLE=1,串口显示OK,再发送指令AT+ROLE,串口显示+ROLE=1,OK,此时说明已经将HC-05设置成为主模式。 -
设置两个模块的密码,获取从机的地址
用AT+PSWD查询和设置密码,注意两个模块的连接密码要一致。之后再发送AT+LADDR查询BT-04(从机)的地址,注意此处的指令在不同型号的蓝牙模块之间不一定相同,要参考相应模块的AT指令集。 -
将从机地址输送给主机,并设置主机指定蓝牙地址连接模式
发送AT+BIND和从机地址给主机,再发送AT+CMODE=0设置主机为指定蓝牙地址连接模式。
在发送从机地址时有点特殊,这里举一个例子:
在指定蓝牙地址连接模式下(这个可以在之后的步骤设置),绑定蓝牙设备地址:12: 34: 56: ab: cd: ef 命令及响应如下:
AT+BIND=1234,56,abcdef
OK
AT+BIND?
+BIND: 1234:56:abcdef
OK
将以上部分完成之后,将HC-05模块拔开,将KEY口悬空,再用USB转TTL模块连接上电脑,就可以将两个蓝牙模块连接上。
最后检验
如图(doge):
(左边的串口助手打开的是主机,右边的打开的是从机)
可见两个蓝牙模块能够相互收发信息,这里要注意波特率的设置。
最后,希望这些能够帮助到你,如果有问题,欢迎私聊,或者在评论区留下问题。😊