调模块总是让人很头疼,有时候遇到一些其实很简单的问题也找不到原因,着实难受。这里写一点我在配置HC05遇到的一些常见的问题和对一些问题的理解。
如果你觉得对你有帮助,希望点个赞再走,如果按照本文没解决你的问题,下方留言告诉我你的问题,我希望和你一起解决问题并将该问题更新到本文中。
目录
1.接口容易出错
2.AT指令码问题
3.蓝牙串口APP中搜索不到设备
4. 如何进入AT指令
5.无法进入AT指令、AT指令无回应问题——冷启动型USB转TTL模块惹的祸
6.HC05与HC06从模块配对通信示例。
1.接口容易出错
受网络端口同名端相连的固定思维影响,新手可能认为蓝牙的串口的接口RX对主机的RX,TX对主机的TX,其实这样完全错误,其实正好相反。不只是蓝牙,串口都是这样接的。
2.AT指令码问题
串口助手调试时发送指令码有十六进制和文本模式,一般使用文本模式。与HC06的发送直接AT指令不同,HC05文本模式下通信调试指令是发送AT+换行(输入AT敲一下回车便可)。其他的指令都要在最后加换行。
3.搜索不到设备
3.1 蓝牙调试APP中搜索不到设备
有的人在手机上下载了蓝牙串口APP但是打开连接搜索不到设备。原因可能是你的手机并没有与蓝牙配对。这里我们应该先通过手机蓝牙与搜索到蓝牙模块设备与蓝牙进行配对(下边左图),然后在串口APP搜索中就能找到蓝牙设备并进行连接(右图),蓝牙不在身边,能说明白就行。。。。
3.2 蓝牙配对搜索不到设备
可能是蓝牙当前角色是主机模式,无法被搜索到和配对,解决办法:
方法1. 先将蓝牙设置为从机模式(AT+ROLE=0\r\n),再进行配对。(推荐)
方法2. 通过AT指令与手机配对,具体操作参见HC05-AT指令集手册。
主模式与从模式的区别:主机是指能够搜索别人并主动建立连接的一方,从机则不能主动建立连接,只能等别人连接自己。
蓝牙调试助手不稳定?试试这个,亲测好用。应用商城如果搜不到可以到下载网站下载。
4. 如何进入AT指令
HC05进入AT指令有两种方式(手册上有,这里只是强调一些容易忽视或者手册说的不太明白的东西),一种是固定波特率38400进入AT指令(个人认为是为了避免AT指令被修改后用户不知道通信波特率而造下次无法修改配置的情况)。设置方法为:先按住按键,然后给蓝牙上电,略等一秒或者更长的时间,松开按键,此时可见看到2s闪烁间隔方式闪烁,说明已经进入AT指令设置。便可以在串口助手上通过发送AT指令对蓝牙进行相关配置,注意设置波特率为38400。
另一种是上电后按一下按键,便进入AT指令设置(指示灯闪烁频率依旧没什么变化),该设置的波特率是可变的,所以要事先知道蓝牙已经设置的波特率才能操作(模块一般默认波特率为9600)。
这两种波特率有什么区别呢?
固有波特率38400是专用于AT指令模式的,而另一种波特率(新模块默认9600)是由用户设置的在一般的通信应用时的波特率,比如与单片机通信就是使用这个波特率。
5.无法进入AT指令、AT指令无回应问题
首先要熟悉HC05的三种状态,以及如何根据指示灯判断这些状态
1.未连接配对状态:LED每一秒闪烁两次
2.已连接配对状态:LED隔一秒闪烁两次
3.AT指令模式:LED每两秒闪烁一次
5.1冷启动型USB转TTL模块惹的祸
按照前面第4节的方式如果无法进入AT指令模式。首先判断在发送AT指令前后蓝牙是不是还处于AT指令模式!很常见的一个问题就是按照上述方法确保HC05进入了AT指令模式,但发送一条AT指令之后却自动退出了AT指令模式,这很可能是因为使用的USB转TTL模块是带有冷启动的。怎么解决呢?找一个不带有冷启动的USB转TTL模块。
5.2发送AT指令码多了换行
发送的AT指令码一定要严格按照手册来,加换行只是加一个换行,不要多,否则无法成功。
6.HC05与HC06从模块配对通信示例。
首先通过AT指令把HC05配置为主模块,配置好最好查询一下蓝牙当前状态,确定模块当前状态是主模块状态;然后配置两个模块的配对密码为相同的密码即可。上电后主模块会自动搜寻附近的蓝牙从机并配对连接,如果配对密码相同就可自动完成配对。所以上电等待配对即可,配对完成后就可以理解为两个蓝牙相接的的串口连接在了一起。下图是通过两个串口调试的结果(能看得清吗?),可以看到这两个接了已经配对的蓝牙的串口可以进行串口通信了。这也就意味着,如果把上位机换成单片机,就可以实现两个单片机的短距离通信。