前述:
QQ:3177227373
V X:F9986858机械运动复习
这个是⾃⼰的模块学习⼼得体会。
(点击蓝⾊字体即可跳转)
提取码:1cay
要想⾃⼰能学会并使⽤,需要结合别⼈的经验和⽅法和⼿册,这是我⼀个⼤学学长(振华哥)给我的建议,学习什么芯⽚资料都得去看⼿册。我刚开始看见⼿册密密⿇⿇的字就不想看,觉得特别枯燥⽆聊,就想让别⼈直接⼿把⼿教我,但是发现这样不是什么好习惯,⽤⼩伙伴的话说就是:you see see you,one day day,only know want ⽩嫖。当被别⼈这样说的时候我⼼⾥感觉很羞愧,所以我后来不会的都是⾃⼰先百度、论坛看看,再看看⼿册,实在不会了才会去请教学长和⽼师。
这个是⾃⼰在2019年寒假过年的时候在家⾥⽆聊,想着就想学习⼀下数据的⽆线传输,然后⾸先就买了HC-05蓝⽛模块的ESP8266 WIFI模块,⾃⼰多学点知识,才能在和别⼈交流的时候侃侃⽽谈。说直⽩点,你啥都不会,还不学,别⼈都不想和你聊天。
要相信:你若盛开,清风⾃来。
模块介绍:
蓝⽛HC05是主从⼀体的蓝⽛串⼝模块,简单的说,当蓝⽛设备与蓝⽛设备配对连接成功后,我们可以忽视蓝⽛内部的通信协议,直接将将蓝⽛当做串⼝⽤。当建⽴连接,两设备共同使⽤⼀通道也就是同⼀个串⼝,⼀个设备发送数据到通道中,另外⼀个设备便可以接收通道中的数据。所以⼀般在学习的时候可以先学习怎么配置蓝⽛模块,并进⾏数据的收发就好了,先差不多会⽤。 核⼼模块使⽤HC-05从模块,引出接⼝包括VCC,GND,TXD,RXD,KEY,STATE
VCC GND是电源引脚
TXD RXD是串⼝通信引脚
KEY是在代码配置的时候单⽚机控制它的⾼低
STATE是连接状态引脚,已连接的时候是⾼电平,未连接是低电平
模块进⼊AT模式的两种⽅法:
1、模块上电,未配对情况下就是AT模式,波特率为模块本⾝的波特率,默认: 9600, 发送AT指令时需要置⾼⼀次PIO11(即按⼀下模块上⾯的按键)。
2、PI011置⾼电平后(按键按下),模块上电,此时模块进⼊AT模式,波特率固定为: 38400, 可以直接发送AT指令。
(注:当⽤户忘记模块本⾝波特率时,使⽤第⼆种⽅法固定为38400,平时建议⽤户使⽤第-种⽅法进⼊AT模式! )
⼀、配置⽅法:
1、⽤串⼝调试助⼿配置
先根据如果所⽰连接蓝⽛模块安徽大学学报
然后打开资料⾥⾯的串⼝调试助⼿ XCOM V2.0
根据我底下配图配置好调试助⼿就可以根据⼿册发送AT指令进⾏配置蓝⽛模块了。
发送某些指令的时候需要置⾼⼀次34脚,就是按⼀下蓝⽛模块上的按键。有些指令是需要⼀直置⾼34脚,即⼀直按着按键,否则不能配置。
2、⽤单⽚机串⼝发送AT指令配置
单⽚机串⼝发送字符串代码:
void send(unsigned char*p)
{
unsigned char index=0;
南传术数
do
{
SBUF=p[index++];
while(TI ==0);
TI =0;
}
while(p[index]!=0);
雷达检测
}
函数配置:
unsigned char HC05_NAME[]="AT+NAME=BBBBBB\r\n";//34脚⼀直置⾼unsigned char HC05_PSWD[]="AT+PSWD=1234\r\n";//34脚置⾼⼀次
void main()
{
Bloot_Key=1;//配置蓝⽛模块名称的时候34脚⼀直置⾼
UartInit();
send(HC05_NAME);//发送蓝⽛名称AT指令
delay_ms(1000);
Bloot_Key=0;
Bloot_Key=1;//配置模块的配对密码34脚置⾼⼀次
delay_ms(500);
Bloot_Key=0;
send(HC05_PSWD);//发送配对密码AT指令
while(1);
}
⼆、数据收发:
HC-05主从机⼀体蓝⽛模块使⽤的是串⼝通信,即
模块的TXD连接MCU的RXD
模块的RXD连接MCU的TXD
数据接收:
void Usart() interrupt 4
{
if(RI)
{
RI =0;
Dat=SBUF;
}
}
数据发送:
void sendata(unsigned char temp)//串⼝发送
{
SBUF=temp;
while(!TI);//等待数据发送成功
TI=0;//软件清零
}
然后在主程序对接收的数据进⾏解析处理,然后发送数据。
三、模块的连接:
1、两个蓝⽛模块的连接
由于买到的蓝⽛模块默认都是从机,所以需要把其中⼀个⽤AT指令配置成主机。AT指令如下:
配置成功后,只需要给两个模块供电即可⾃⾏连接,如果连接成功的话指⽰灯会两快闪灭⼀下,并且闪烁是同步的。(蓝⽛默认配对密码是1234.不要修改配对密码,否则会连接不成功)
这是简单的连接⽅法,但是我看那个AT指令表,可以配置蓝⽛模块,让它连接指定地址的蓝⽛模块,可以⾃⾏查看AT指令的第15、27、32、33指令。
2、蓝⽛模块和⼿机的连接
蓝⽛模块为从机,在⼿机端下载⼀个蓝⽛串⼝软件。
我⽤的蓝⽛串⼝软件:(需要的话加我QQ传给你)
脱套伤在这⾥插⼊图⽚描述
可以设置按键键盘,按下按键发送数据。
这个按键键盘是⾃⼰做的⼀个蓝⽛遥控车的键盘操作。最近实验室装修,视频会在后续更新到此⽂章后⾯。
附录:
1, AT+ROLE设置主从模式:
AT+ROLE?是查询主从状态;AT+ROLE=1是设成主,AT+ROLE=0是设成从,AT+ROLE=2设成回环⾓⾊(Slave-Loop(回环⾓⾊)——被动连接,接收远程蓝⽛主设备数据并将数据原样返回给远程蓝⽛)。
2, AT+RESET:HC-05复位
2011年高考数学
3, AT+VERSION?:获取HC-05的软件版本号,只能获取,不能修改。
4, AT+ORGL:恢复出⼚默认设置,当把模块设置乱了,使⽤此命令进⾏恢复默认值。
5, AT+ADDR?:获取HC-05的蓝⽛地址码,只能获取,不能修改。
6, AT+NAME?:获取HC-05的名字,AT+NAME=BSP-06,修改模块的名字为BSP-06,具体名字⾃⾏修改。
7, AT+CLASS?:设置查询设备的类型,尽量不要去修改此参数。默认是1F00。
8, AT+IAC?:查询设置查询访问码,默认是9E8B33,尽量不要去修改此参数。
9, AT+PSWD?:查询设置配对密码,AT+PSWD=”0000”,密码要有双引号,密码是四位数字.
10, AT+UART:AT+UART?是查询当前模块的波特率,AT+UART=波特率,0,0。
11, AT+CMODE:AT+CMODE?是查询当前连接模式。AT+CMODE=0,1,2(0——指定蓝⽛地址连接模式(指定蓝⽛地址由绑定指令设置)1——任意蓝⽛地址连接模式(不受绑定指令设置地址的约束)2——回环⾓⾊(Slave-Loop)默认连接模式:0)。
12, AT+BIND:AT+BIND?查询当前绑定地址,AT+BIND=NAP,UAP,LAP(⽤逗号隔开)。
13, AT+RMADD:从蓝⽛配对列表中删除所有认证设备.
14, AT+STATE?:获取蓝⽛模块⼯作状态.
15, AT+LINK=NAP,UAP,LAP:与远程设备建⽴连接。
16, AT+DISC:断开连接.