准备工具:TTL转USB(CH340驱动的)、安卓蓝牙调试app、XCOM V2.6(windows串口调试)
工具下载链接:https://pan.baidu.com/s/1MberurMH9c2QwEJZHZ_RVw?pwd=73xq
提取码:73xq
问题描述:本人在做课设时调试蓝牙调得头皮发麻,无法进入AT指令模式(不返回OK),蓝牙无法返回输入值。
解决方法:
一、先验证蓝牙的功能正常
(TTL) (蓝牙)
5V -> 5V
RX -> TX
TX -> RX
GND -> GND
①接好线后,打开任务管理器-端口(COM和LPT)发现如下图内容:
若没有此内容,考虑:1、驱动没装好;2、ttl是坏的或者非ch340驱动。
驱动下载地址:CH340串口驱动的官网下载链接地址(包含各大操作系统平台)_零号萌新的博客-CSDN博客
注意到我这里分配的是COM9,每台电脑分配的不一样!
②配置XCOM V2.6
③安卓连接HC-06
连接成功后发现蓝牙上的红灯从 闪烁->常量;如果依旧闪烁,那是你连到别人的了。
连接成功XCOM上会显示以下内容:
如果勾选了16进制显示就会出现以下内容,记得去掉。
-④安卓已连接HC-06,但是XCOM不显示内容,可能原因:波特率不对
方法:
由AT指令集我们可以知道可修改的波特率有:
1---------1200
2---------2400
3---------4800
4---------9600(默认)
5---------19200
6---------38400
7---------57600
8---------115200
9---------230400
A---------460800
B---------921600
C---------1382400
接着配置COMx串口
最后,打开串口,保持手机与蓝牙连接(蓝牙红灯常亮),通过手机向蓝牙发送数字“1”
XCOM V2.6中接收到数字“1”即成功,记住此时波特率。
若1200不行,接着试其他波特率直到成功。若全部失败,考虑更换蓝牙模块!
二、AT指令集修改蓝牙名字
常用的是5V供电,KEY引脚有些模块标的是EN(使能),主要功能是让单片机控制蓝牙的打开和关闭。
state引脚主要功能是给单片机读取判断蓝牙的连接情况,便于编写后续发送接收程序,通常情况下 EN 和 state 这两个引脚是不用接的。
具体操作移步:HC-06相关设置(AT指令)_hc06指令_八百标兵奔北坡~的博客-CSDN博客
(其他博主已经写得很详细了)
若以上方法无法实现AT指令相应(返回OK):
①:那么请你尝试一下从PC端XCOM V2.6发送字符串给连着TTL的蓝牙,看手机端上是否能收到蓝牙的相应讯息,若不能,考虑更换蓝牙,此蓝牙可能损坏为仅单向传输数据,TTL无法写入字符给蓝牙,故AT指令也不会执行。(本人课设就是遇到此类情况)
②:若①中能收到讯息,考虑将TTL的GND接入EN引脚,蓝牙的GND悬空或者共地两种都可以试试,能执行AT指令就是成功(据说有个什么休眠模式,只发不收,本人未验证过此功能,从某个UP那听来的,当然可能也并非是hc-06的功能,而是08更高级模块的,反正试试嘛,死马当成活马医)