1. HC-05模块
HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。说白了,只是个蓝牙转串口的设备,你只要知道串口怎么编程使用,就可以了,实现了所谓的透明传输。
1.1 HC-05模块的引脚
常用的引脚有
RXD
TXD
GND
VCC
在接线时我们需要遵循一个原则:在正常模式使用时RXD->TXD TXD->RXD,而在配置时需要RXD->TXD TXD->RXD
配置模式
用于配置蓝牙模块的模式
我们可以使用USB-TTL或者单片机与HC-05连接.接线之后先按住模块上的小按钮,再上电,此时模块的LED会已两秒为间隔闪烁
此时打开串口助手,波特率设置为38400(这是配置模式的固定波特率),勾选发送新行
此时发送AT,应该会返回OK,如果不是的话请仔细检查线路,是否进入配置模式(LED两秒闪烁一次)
开始配置CH-05
AT+ROLE=0(蓝牙模式设置为从机,此时只能被搜索)
AT+CMODE=1(可以和任何设备连接)
AT+UART=9622,0,0(设置波特率9600,看清楚是英文逗号)
AT+NAME=HC05(设置蓝牙名称)
AT+PSWD=“1234”(设置连接密码,""不能省略)
以上操作,蓝牙均会返回OK
此时断电,转到正常模式的接线
测试蓝牙模块
此次使用手机上的SPP蓝牙串口APP,搜索到HC05连接输入密码,即可连接成功
编写代码
#include <REGX52.H>
/*
实验目的:调试蓝牙串口
实验时间:2022/12/06
实验要求:使用蓝牙控制LED的量灭
*/
typedef unsigned int uint;
typedef unsigned char uchar;
uint pass = 0;//数据位
void UART_Init()
{
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd;//设置波特率,本单片机采用的是11.0592MHz的晶振
SM0 = 0;
SM1 = 1;//串口工作方式1
REN = 1;//串口允许接收
TR1 = 1;
EA = 1;
ES = 1;//串口中断
}
void main()
{
UART_Init();//串口初始化
while(1)
{
P2 = pass;//传输的16进制数赋值给LED,我的LED在P2引脚,自行查看引脚图
}
}
void UART_INTERRUPT() interrupt 4
{
pass = SBUF;
RI = 0;
SBUF = pass;
while(!TI);
TI = 0;
}
效果
发送数据:00
发送数据:ff