蓝牙模块使用教程

一 、模块简介


嵌入式蓝牙串口通讯模块(简称蓝牙模块)具有两种工作模式:

命令响应工作模式和自动连接工作模式。

当模块处于命令响应工作模式(或者AT模式)时能才能执行 AT 命令,用户可向模块发送各种 AT指令,为模块设定控制参数或发布控制命令。(AT指令就是我们PC与一些终端设备(例如蓝牙,WiFi模块)之间进行通信的,配置这些终端设备参数的一套指令。)

在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输。主模式:该模块可以主动搜索并连接其它蓝牙模块并接收发送数据。从模式:只能被搜索被其它蓝牙模块连接进行接收发送数据。回环:蓝牙模块就是将接收的数据原样返回给远程的主设备。

二、开发工具


1.USB转TTL模块(可用CH340),蓝牙模块(HC-05),PC端串口助助手。

2.蓝牙模块与USB转TTL模块的接线情况就是VCC-VCC,GND-GND,RXD-TXD,TXD-RXD,有的蓝牙模块只有四个引脚,而且我们见到的大多数蓝牙模块都是四个或者只需要用到四个引脚。

3年嵌入式物联网学习资源整理分享:C语言、Linux开发、数据结构;软件开发,STM32单片机、ARM硬件开发、物联网通信开发、综合项目开发教程资料;笔试面试真题。点击下方插件免费领取↓↓↓嵌入式物联网学习资料(头条)

3.手机需要安装一个可以进行蓝牙通信的APP,一般直接在你手机的应用商店搜蓝牙串口就可以下载相关APP,如“串口调试助手”。

三、蓝牙模块初始化


这里以蓝牙模块HC-05为例,蓝牙模块可能每个人买到的不一样,但是用法都相近,可以作为参考,建议你在哪里买的模块就找对应的卖家找到对应的蓝牙模块中文数据手册,一般来说里面都有对应的AT指令集。这里要注意的是如果你发送对应的指令,在硬件连接都正确的情况下如果串口调试助手不能得到回应,那么很可能是你的AT指令集是错的,因为不同的蓝牙模块对应的蓝牙AT指令集是有差别的。

HC-05蓝牙模块引脚说明:

蓝牙模块自带一个状态指示灯
   1.在上电时,将KEY脚悬空或接地,红灯1s一次快速闪烁,表示进入可配对模式。
   2.在上电之前,按住黑色小设置按钮不放,同时KEY接高电平,上电,灯2s一次慢速闪烁,表示进入AT模式,进入AT模式可以对蓝牙模块进行设置。
   3.配对成功模式,快速闪烁。

这三点很重要,蓝牙模块只有进入了AT模式才能发送AT指令集,很多小白以为只要接上USB转TTL模块插到电脑,打开串口调试助手就可以发送指令。这是不可以的。切记!!!

四、单片机串口程序


这里以51单片机为例,蓝牙串口的程序最重要的就是配置串口定时器,这里将定时器相关的代码贴出来,大家最好按照这种方法配置,经过多次建议程序稳定。

串口初始化 1void Usartinit()//初始化
   2{
   3 TMOD=0x21; //设置定时器1的工作方式2 0010 0000 GATE C/T 8位初值自动重装8位定时器
   4 PCON=0x80; //波特率加倍 电源管理寄存器
   5 TH1=0xf3; //给定时器重装初值
   6 TL1=0xf3; //这里的波特率必须加倍 不加倍的话 通讯不成功 本人目前还不知道原因
   7 //由于开发板使用的晶振频率是12M,非标准频率,在设置波特率时很容易产生误差,而导致串口通信出现乱码或者失败
   8 //目前来说,选择波特率4800,SMOD=1波特率加倍的方式,误差率仅为0.16%,为12M晶振中最小的误差
   9 TH0=0XEC; //5ms定时
   10 TL0=0X78;
   11 TR0=1;
   12 ET0=1;
   13 TR1=1; //开定时器1
   14 SM0=0; //选择串口工作方式1,常用
   15 SM1=1;
   16 REN=1; //开串口接收 此时接收器所选择的波特率16倍速率采样RXD移交的电平 开始接收信息
   17 ES=1; //串行中断总开关
   18 EA=1; //开总中断
   19}

相关配置程序注释已相当明白。

主函数 1uchar flag,i,receive;
   2uchar code table1[]="GO";
   3uchar code table2[]="Stop";
   4void main()
   5{
   6 Usartinit(); //调用初始化函数进行初始化
   7 while(1)
   8 {
   9 if(flag==1) //不断的检测标志位是否被置1 被置1说明已经执行了中断服务程序,即已经接数据,否则一直检测flag的状态
   10 {
   11 switch(receive)
   12 {
   13 case 1:
   14 ES=0; //接下来要发送数据 先要使ES=0关闭串口中断 等数据发送完后再打开串口中断
   15 for(i=0;i<2;i )
16 {
   17 SBUF=table1[i];
   18 while(!TI); //等待是否发送完成 因为发送完成后TUI会有硬件置1
   19 TI=0; //清除发送完成标志位 手动清0
   20 }
   21 ES=1;
   22 flag=0;
   23 break;
   24 case 2:
   25 ES=0;
   26 for(i=0;i<4;i )
27 {
   28 SBUF=table2[i];
   29 while(!TI);
   30 TI=0;
   31 }
   32 ES=1;
   33 flag=0;
   34 break;
   35 }
   36 }
   37 }
   38}
   39void Usart() interrupt 4 //一旦有数据接入,串行口中断触发
   40{
   41 receive=SBUF-48; //当REN为1时 开始接收数据 将接收到的值赋予receive 这里的是ACSII 所以要减去48
   42 RI=0; //当RI=0 将接收数据存入SBUF寄存器中 清除接收中断标志位 有内部硬件置1,项CPU发出中断请求 在中断服务程序中,必须用软件将其清零, 取消此中断申请
   43 flag=1; //将标志位置1 这个是方便在主程序中查询判断是否已经接收到数据
   44}

以上是单片机的程序,由于51单片机只有一对RXD和TXD引脚,故先将程序下载到单片机后再将蓝牙模块的四个引脚接到单片机的RXD和TXD引脚,以后每次下载程序是都要这样操作,但不要嫌麻烦。

五、手机端操作


在安卓手机的应用商店搜索“蓝牙调试助手”,我的应用商店下载的是“蓝牙调试器”

在没有连接成功蓝牙时,蓝牙上面的红灯一直在闪烁,当连接成功后,红灯停止闪烁,每发送一条指令,电脑的串口调试助手就会收到手机端发送的消息。


原文标题:项目分享|小师弟手把手教你用蓝牙模块

原文链接:
       https://mp.weixin.qq.com/s/ggA2x_prpV9EWO_uIyNUHA

原文作者:果果小师弟

(0)

相关推荐

  • ThinkPad X200完美加装蓝牙模块

    手里的X31用了也有快两年,一直想着要升个级,本想着上X61的,在犹豫中听到联想大陆学生机的消息,口水得很,赶紧找个读研的同学,用他的学生证直接入手X200。 第一感觉X200就是爽,从外观,从轻薄程 ...

  • win8系统蓝牙怎么使用?win8蓝牙使用图文教程

    现在电脑上也有蓝牙设备,蓝牙是我们平时传输文件最常使用的工具,非常的方便。很多朋友虽然电脑上拥有蓝牙功能但是也不会用,每次用都连接不成功。那么win8系统蓝牙怎么使用?本文将与大家一起分享win8蓝牙 ...

  • 如何开启蓝牙模块功能

    本文以联想昭阳K27笔记本为例介绍如何开启蓝牙功能。 1、首先将无线/蓝牙外部开关向右拨动,开启无线/蓝牙功能。如图所示: 2、按下“Fn+F5”键,弹出Lenovo无线装置设定对话框,将蓝牙设置为“ ...

  • Windows7怎么配置蓝牙模块GAIA功能的方法

    Windows7怎么配置蓝牙模块GAIA功能的方法

  • win10怎么禁用蓝牙设备? win10关闭蓝牙功能的教程

    win10系统中的蓝牙功能不想使用,该怎么禁用蓝牙功能呢?下面我们就来看看详细的教程. 1.在win10左下角找到搜索框,输入蓝牙,点击蓝牙和其他设备设置. 2.点击蓝牙,选择关闭即可. 3.当然也有 ...

  • Win7卸载软件时提示"找不到指定模块"图文教程

    现在都是无纸化办公,为了让电脑能快速的运行,我们会把电脑里一些不用的软件卸载掉,有些用户在卸载的过程中会遇到提示"找不到指定模块",现在小编就教大家如何手动解除这个问题,其实原因就 ...

  • 蓝牙模块接口定义(蓝牙模块怎么使用)

    蓝牙模块上面的接口可以分为USB接口.数字IO口.串行接口.模拟IO口.SPI编程及语音接口等,根据不同需求开发人员也会采取不同的接口.串行接口也可以称之为串行通信接口,很多业内开发人员直接称之为串口 ...

  • 蓝牙模块如何开启配对码功能

    蓝牙模块的配对码是在其他设备比如手机连接蓝牙模块时要求输入的,一般这个功能默认是不开启的,如果我们需要使用该功能的话,就必须使用相应的工具进行配置,当然也可以修改部分代码.从最简单也是最方便的角度出发 ...

  • 笔记本安装内置蓝牙模块

    我的笔记本电脑无线网卡不支持5Gwifi也不支持蓝牙,最近买了蓝牙耳机和蓝牙鼠标于是就想着给笔记本做一个小升级.这里来介绍一下我的升级方案和过程. 笔记本有了蓝牙之后可以节省出一个usb接口,还可以方 ...

  • 新型全无线耳机蓝牙配对通用教程

    新型全无线耳机蓝牙配对通用教程(可适用于U1耳机.dash耳机.earin耳机等各款双耳蓝牙耳机) 操作方法 01 打开手机或带蓝牙播放器的蓝牙信号 02 长按耳机右耳直到听到提示音"右耳已 ...