如果要使用HC05进行通信的话,配置蓝牙名称,配对密码,设置主从模式,设置波特率,然后退出AT模式,使用HC05连接另一个蓝牙设备即可,使用单片机向连接蓝牙的串口便可以收发数据了。 HC05蓝牙模块的AT模式设置的方法有以下三种:
一、默认设置
- 模块工作角色:从模式
- 串口参数:38400bits/s 停止位 1位 无校验位
- 配对码:1234
- 设备名称:HC-05
- 连接模式:任意蓝牙设备连接模式
二、用USB转TTL模块设置
Step1:蓝牙与USB转TTL模块连接方式
RXD-TX
TXD-RX
VCC-VCC(5V-5V)
GND-GND
EN引脚不用接
Step2:进入AT模式
首先让AT引脚置高,然后接上蓝牙模块(有按键则按住蓝牙上的按键,再接通电源,进入AT指令模式),这时候将转串口模块接入电脑,当蓝牙模块state灯变为慢闪,则表明已经进入AT模式。打开串口调试助手便可以开始设置AT模式。(具体AT指令参考HC05 AT指令集)
Step3:配置蓝牙 (发送以下AT指令后返回OK表示设置成功)
恢复默认设置:
将蓝牙恢复默认设置:AT+ORGL\r\n(\r\n即回车、换行,在串口调试助手上输入一个回车即可)
设置蓝牙名称:
配置蓝牙的名称:AT+NAME=Bluetooth-Marster\r\n(主)或 Bluetooth-Slave\r\n(从) 蓝牙名称为Bluetooth-Marster 或 Bluetooth-Slave
设置配对码:
配置蓝牙的配对码:AT+PSWD=1212\r\n(蓝牙A与蓝牙B的配对码相同,这样才能成功配对)
设置工作角色:
将蓝牙A配置为主机模式:AT+ROLE=1\r\n,并将将蓝牙B配置为从机模式:AT+ROLE=0\r\n
配置串口参数:
配置波特率、停止位和校验位:AT+UART=115200,0,0\r\n,设置蓝牙通信串口波特率为9600,停止位1位,无校验位
查询地址:
查询蓝牙地址:AT+ADDR?\r\n(如2015:2:120758)
清空配对列表:
清空配对列表,方便配对新的蓝牙:AT+RMAAD\r\n
连接模式:
配置蓝牙连接模式,若为任意地址连接模式则配置为1,无需进行地址绑定,否则配置为0,需要进行地址绑定:AT+CMODE=1\r\n(蓝牙连接模式为任意地址连接模式)
蓝牙A绑定蓝牙B:
蓝牙A绑定蓝牙B地址:AT+BIND=2015,2,120758\r\n(注意把地址的冒号换成逗号)
Step4:返回常规工作模式
2个模块的PIO11引脚都接地,重新上电后进入常规工作模式,自动完成配对。之后,串口调试助手A和串口调试助手B就能互传数据了。
三、用带有蓝牙设置的主控器串口程序进行设置
通常使用方法二进行配对,还可以在单片机中配置蓝牙AT指令,以下为用Arduino配置的例程:
Step1:编写Arduino程序,配置蓝牙
#define AT 2 //AT引脚连接Pin2
#define LED 13 //LED引脚连接Pin13
void setup()
{
pinMode(LED,OUTPUT);
pinMode(AT,OUTPUT);
digitalWrite(AT,HIGH);
Serial.begin(38400);//这里应该和你的模块初始通信波特率一致
delay(100);
Serial.println("AT");
delay(100);
Serial.println("AT+NAME=OPENJUMPER-Bluetooth");//命名模块名
delay(100);
Serial.println("AT+ROLE=0");//设置主从模式:0从机,1主机
delay(100);
Serial.println("AT+PSWD=1120");//设置配对密码,如1120
delay(100);
Serial.println("AT+UART=115200,0,0");//设置波特率115200,停止位1,校验位无
delay(100);
Serial.println("AT+RMAAD");//清空配对列表
}
void loop()
{
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
Step2:蓝牙与Arduino连线
RXD-TX
TXD-RX
VCC-VCC
GND-GND
AT-Pin2
Step3:按下Arduino的复位按键
让程序开始运行一次,当发现板载LED灯500ms闪烁时则表明已配置成功。