HC05是主从一体化蓝牙模块,可以通过将两个蓝牙配置成一主一从的方式,
主蓝牙开机后会自动去寻找从蓝牙设备,并自动连接。
两个蓝牙模块通信,首先要让两个蓝牙模块进入命令响应工作模式即AT模式(EN接上USB转TTL的VCC或者3.3V,上电,再长按蓝牙模块上的按键,红灯慢闪即表示进入了AT模式)
配置流程
主蓝牙:
1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与从蓝牙的配对码保持一致)
2.设置蓝牙为主机: AT+ROLE=1 (0为从机,1为主机,2为回环角色)
3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址)
4.设置蓝牙连接地址:AT+LINK=98d3:34:90c097(这里的地址是我事先在从蓝牙上查询到的地址,看别的博客是BIND命令,但是我不太清楚这两个命令有什么区别)
具体代码:
HC05_KEY=1; //KEY置高,进入AT模式
delay_ms(10);
u2_printf("AT+PIN9999rn");
u2_printf("AT+ROLE=1rn");
u2_printf("AT+CMODE=0rn");
u2_printf("AT+LINK=98d3:34:90c097rn");
delay_ms(10);
HC05_KEY=0;
从蓝牙:
1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与主蓝牙的配对码保持一致)
2.设置蓝牙为主机: AT+ROLE=0 (0为从机,1为主机,2为回环角色)
3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址)
具体代码:
HC05_KEY=1; //KEY置高,进入AT模式
delay_ms(10);
u2_printf("AT+PIN9999rn");
u2_printf("AT+ROLE=0rn");
u2_printf("AT+CMODE=0rn");
delay_ms(10);
HC05_KEY=0;
蓝牙在连接好之后,即可通过USART2串口进行收发,通过u2_printf()函数发送数据。
接收到的数据存放在USART2_RX_BUF缓冲区内。
HC05是主从一体化蓝牙模块,可以通过将两个蓝牙配置成一主一从的方式,
主蓝牙开机后会自动去寻找从蓝牙设备,并自动连接。
两个蓝牙模块通信,首先要让两个蓝牙模块进入命令响应工作模式即AT模式(EN接上USB转TTL的VCC或者3.3V,上电,再长按蓝牙模块上的按键,红灯慢闪即表示进入了AT模式)
配置流程
主蓝牙:
1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与从蓝牙的配对码保持一致)
2.设置蓝牙为主机: AT+ROLE=1 (0为从机,1为主机,2为回环角色)
3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址)
4.设置蓝牙连接地址:AT+LINK=98d3:34:90c097(这里的地址是我事先在从蓝牙上查询到的地址,看别的博客是BIND命令,但是我不太清楚这两个命令有什么区别)
具体代码:
HC05_KEY=1; //KEY置高,进入AT模式
delay_ms(10);
u2_printf("AT+PIN9999rn");
u2_printf("AT+ROLE=1rn");
u2_printf("AT+CMODE=0rn");
u2_printf("AT+LINK=98d3:34:90c097rn");
delay_ms(10);
HC05_KEY=0;
从蓝牙:
1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与主蓝牙的配对码保持一致)
2.设置蓝牙为主机: AT+ROLE=0 (0为从机,1为主机,2为回环角色)
3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址)
具体代码:
HC05_KEY=1; //KEY置高,进入AT模式
delay_ms(10);
u2_printf("AT+PIN9999rn");
u2_printf("AT+ROLE=0rn");
u2_printf("AT+CMODE=0rn");
delay_ms(10);
HC05_KEY=0;
蓝牙在连接好之后,即可通过USART2串口进行收发,通过u2_printf()函数发送数据。
接收到的数据存放在USART2_RX_BUF缓冲区内。
举报