蓝牙模块使用方法


把蓝牙连接到USB转ttl上面,注意RXD和TXD连接要相反

使用串口助手 波特率默认为9600

01常用的AT指令

1.测试通讯
发送:AT
返回:OK

2.改蓝牙串口通讯波特率(这个改过之后必须要马上调整串口助手中的波特率!)

 发送:AT+BAUD1
返回:OK1200
发送:AT+BAUD2
返回:OK2400
1----1200
2----2400
3----4800
4----9600
5----19200
......(反正就是数字+1,波特率*2)
8----115200
......
C----1382400
我们就用默认的9600吧,这个和之后串口收发的代码也有关系,就不调整啦

3.改蓝牙名称(name可改为你给蓝牙取的名字)
发送:AT+NAMEname
返回:OKname
 
4.改蓝牙配对密码
发送:AT+PINxxxx(正确格式AT+PIN9909)
注意密码为4位
返回:OKsetPIN

02实际代码


#include "reg51.h"
        
typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

//蓝牙模块的初始化
void Bluetoothinit(){
      TMOD = 0x20;//确定T1工作方式 自动重载8位定时器,收TR1控制
      TH1 = 0xE6;//装初值(这里不同波特率数值也不同)
      TL1 = 0xE6;
      TR1 = 1;//开启定时器
      REN = 1;//允许串行口接受
      SM0 = 0;//方式1
      SM1 = 1;
      ES = 1;//串行口中断打开
      EA=1;//打开总中断
}

void main(){
    Bluetoothinit();	
    while(1){
            
    }
}
//串口中断函数
 void ser() interrupt 4
 {   
    u8 date1=SBUF;//这里接受到了数据
        RI = 0; //软件清0,说明自己接受到了数据,让对方等待接受
    SBUF=date1;//发送数据
        while(!TI);//发送成功后TI会变成1
    TI=0;//继续清零等待发送
}

03经验总结

1.晶振最好用11.0592的。如果用了12的话那么波特率就会有误差会产生乱码现象,解决办法:把蓝牙模块的波特率改到最小,以减少误差。
2.在发送数据时,那个加号是要写到AT指令里的

文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录