一、初次连接HC-05蓝牙串口模块
- 连接USB转TTL串口设备与蓝牙串口
- 按这蓝牙上的小扭不放,再将USB口连上电脑(注意先不要将手机与蓝牙连接!)
- 打开PC端串口工具,由于此时默认波特率为38400,故将软件端波特率选项选为38400。
- 此时可以在命令窗口发送命令,注意要以 “回车”即换行结尾。
- 输入
AT
,再按回车
换行,点击发送
,此时接收端的窗口会收到一条OK
指令,说明通信成功。
- 若未成功显示
OK
,说明指令输错或者串口调试软件的波特率选错。
二,设置波特率
- 插曲1------波特率
在初次调试过程中,我将波特率设置为38400
,通信成功,输入命令AT+UART?换行
以获取设备参数,得到4800,0,0
,意思是默认波特率为4800,停止位是1位,奇偶效验位没有(none),
和设置的波特率不一样啊,为什么能通信成功呢?
这时候我掏出了手机祖传的计算器:38400 / 8 = 4800
,难道冥冥之中有着什么关联?
这个查了好久也没有结果,有机会再补上吧!
-
设置波特率
发送指令AT+UART=115200,0,0换行
,将设置波特率为115200,停止位是1位,奇偶效验位没有(none) -
插曲2------数据手册
通过看这个手册,我返现这里翻译的波特率单位是bits/s,应该是翻译错了,应该是比特率,这也解释了之前为什么查询波特率时为何和软件上选择的 相差了 8背,原因应该就是 查询的是比特率,而不是波特率,这里我也不是很确定,有时间再深究,也希望有人可以指出错误!
后来软件波特率显示的也是115200,蓝牙也变成了115200,并没有什么异常,看来只是初次设置才会有问题,,,,不!可能是因为一开始我没有选择16进制显示
,故出错!!!!啊啊啊,原因原来在这里!
所以说翻译并没有错啊!
三、设置配对码
发送指令AT+PSWD=<0000>换行
,将配对码设置为0000;
发送指令AT+PSWD?换行
,显示配对码为0000,说明设置成功。
四、连接手机
-
将USB串口拔下,再直接插上(这次不用按小钮),便进入了自动连接模式
-
PC软件端波特率设置为115200,16进制显示,16进制发送。
-
手机蓝牙串口APP端设置为HEX模式。
-
终于可以愉快的进行通信了!
-
如果想传输文本,那么PC端去掉 16进制显示和16进制发送的勾选,app端去掉HEX模式的勾选即可
参考资料:
【STM32】串口通信基本原理(超基础、详细版)
【常用模块】HC-05蓝牙串口通信模块使用详解(实例:手机蓝牙控制STM32单片机)