蓝牙模块学习笔记(1)

蓝牙模块学习笔记(1)

ID:14232447

大小:972.00 KB

页数:13页

时间:2018-07-27

蓝牙模块学习笔记(1)_第1页
蓝牙模块学习笔记(1)_第2页
蓝牙模块学习笔记(1)_第3页
蓝牙模块学习笔记(1)_第4页
蓝牙模块学习笔记(1)_第5页
资源描述:

《蓝牙模块学习笔记(1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、蓝牙模块学习刚拿到蓝牙模块,心中有点小激动啊;民用级:HC-05,HC-06(HC-06-M,HC-06-S)HC-05-D,HC-06-D(是带底板的模块,主要是用户用于测试和评估)本文介绍的为HC-06蓝牙串口模块。蓝牙串口模块用于把串口转换为蓝牙,这种模块工作的时候分为主机和从机,其中偶数命名的型号出厂时就确定了是从机或者是主机,并无法更改。奇数命名的型号可以用户自己通过AT指令修改模块为主机或者从机。主机:HC-06-M,M=master从机:HC-06-S,S=slaver串口模块的使用,是不需要驱动的,只要是串口就可以接入,配对完毕即可

2、通信,模块与模块的通信需要至少2个条件:1、必须是主机与从机之间2、必须密码一致(密码:1234)主机:记忆最后一次配对过的从机,并只与该从机配对,直到KEY(26脚)高电平触发时放弃记忆,26脚默认应该接低电平。配对方式:主机自动搜索从设备进行配对。典型方式:在一定条件下,主从之间自动配对AT模式:配对前就是AT模式,配对完毕后透明通信图1是HC-06图片及主要引脚现在你手中拿到的HC-06引出了四个引脚,分别为VCC、GND、TXD、RXD。四个引脚分别对应单片机的电源5V或3.3V;GND接地;TXD、RXD交叉连接(对应单片机的P3^0,P

3、3^1)。连接好,单片机上电,此时蓝牙模块上led闪烁,表示尚未连接其他蓝牙设备。此时用手机蓝牙搜索,可以搜索到HC-06.点击连接,输入pin密码则可以连接。连接好后,利用蓝牙串口助手就可以对蓝牙模块通信了,编程也就可以把蓝牙当作普通串口来对待。注意编写好程序后,向单片机烧录时,必须将TXD、RXD拔出才能烧写!!!问题:串口发送字符串时,最后没有标志可寻。可以将字符串接收到数组中,发送数据到12864,检测是否到’’,如果检测得到,将标识符flag置为1;串口中断服务程序中,检测到flag为1时,这证明数据显示成功。此时应当清屏!清屏方法:

4、while(Tem[i]!=''){Tem[i]='';i++;}/***********************************************************STC89C52RC与HC-06蓝牙连线:RXDTXDTXDRXD其他连线:P2.0、P2.1、P2.3分别接一个指示灯***********************************************************/#include#includeunsignedchartmp;unsignedin

5、tc=0;sbitled1=P1^0;//指示灯0sbitled2=P1^1;//指示灯1sbitled3=P1^2;//指示灯2sbitbeep=P3^2;//蜂鸣器voidinit();//串口初始化voidsend(unsignedchara);//单字节发送函数voidctrl();//接收处理函数voiddelay(unsignedintx){unsignedinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}voidmain(){init();while(1){if(RI==1)//是否有数据到来{RI

6、=0;tmp=SBUF;//暂存接收到的数据ctrl();}}}voidinit()//串口初始化{ES=0;//关中断SCON=0x50;//REN=1允许串行接受状态,串口工作模式1,//10位UART(1位起始位,8位数据位,1位停止位,无奇偶校验),波特率可变TMOD=0x20;//定时器1工作于方式2,8位自动重载模式,用于产生波特率TH1=TL1=0xFD;//波特率9600(本次测试采用晶振为11.0592)PCON&=0x7f;//波特率不倍增TR1=1;//定时器1开始工作,产生波特率//发送标志位置0TI=0;//接收标志位置0

7、RI=0;//EA=0;ES=1;led1=0;//初始化设置3个指示灯全亮led2=0;led3=0;}voidsend(unsignedchara)//单字节数据发送{//注意:若单片机TXD(P3.1)无上拉能力,必须在P3.1端接上拉电阻。本次测试需要接上拉电阻TI=0;SBUF=a;while(TI==0);TI=0;if(c%2)//发送指示灯标志,每接收一次,此灯亮灭交替led3=1;elseled3=0;c++;}voidctrl()//接收处理函数{switch(tmp){case'1':led1=1;//收到字符1,指示灯0灭s

8、end(tmp);beep=0;delay(500);break;case'2'://收到字符2,指示灯1灭led2=1;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。