一、项目概要
此项目实现蓝牙点对点通信,设置主从机,从机采集温湿度数据并发送给主机,主机接收数据并显示在OLED屏上。通过此项目理解蓝牙与蓝牙通信的原理,熟悉AT指令,熟悉51单片机串口通信原理与代码编写。
二、实现步骤
1、配置蓝牙主从机模式
(1) 配置从机(蓝牙B)
- 打开串口助手,蓝牙模块与电脑连接并进入配置模式
- 修改密码:修改蓝牙B的配对密码为1212(密码可自行设置,但主从机的密码必须保持一致)AT+PSWD=1212
- 修改波特率:波特率改为9600;AT+UART=9600,1,0(主从机的波特率也必须保持一致)
- 设置从机模式:AT+ROLE=0(0为从机模式,1为主机模式)
- 查询蓝牙B的地址:AT+ADDR?【如2015:2:120758】(将地址记下来,后面主机绑定从机地址会用到)
(2)配置主机(蓝牙A)
- 修改密码:密码与蓝牙A保持一致
- 修改波特率:与蓝牙A保持一致
- 设置主机模式:AT+ROLE=1(0为从机模式,1为主机模式)
- 绑定蓝牙B地址:AT+BIND=2015,2,120758 【注意把地址的冒号换成逗号】(注意地址保持一致,否则不能配对)
2、 编写接收与发送函数代码
(1) 接收函数
接收函数代码功能在注释中有解释
unsigned int Receive(void)
{
unsigned int dat;
while(RI==0); //只要接收中断标志位RI没有被置“1”,等待 直到接收到RI=1为止
RI=0; //为了下一次接收,需要手动清0
dat=SBUF; //SBUF接收缓冲器,将接收缓冲器中的数据存于dat中
return dat; //返回接收到的数据
}
(2) 发送函数
发送函数代码功能