一.模块特点
HC-05 蓝牙串口通信模块,是基于 Bluetooth Specification V2.0 带 EDR 蓝牙协议的 数传模块。无线工作频段为 2.4GHz ISM,调制方式是 GFSK。模块最大发射功率为 4dBm, 接收灵敏度-85dBm,板载 PCB 天线,可以实现 10 米距离通信。
模块自带 LED 灯,可直观判断蓝牙的连接状态。模块采用 CSR 的 BC417 芯片,支持 AT 指令,用户可根据需要更改角色(主、从模式) 以及串口波特率、设备名称等参数,使用灵活。
二.模块原理
蓝牙模块的通信示意图如下:两个设备主控芯片或单片机分别连接各自的蓝牙模块,即将主控芯片与蓝牙模块的串口控制引脚交叉连接。因为蓝牙模块自带透传功能,简单来说就是主控芯片串口什么数据,蓝牙模块就转发什么数据,所以也可以把主控芯片的串口看作一个带有无线传输的串口。
由于蓝牙有主从机之分,模块出厂默认为从机模式。如果需要设置为主机,需要通过AT指令对蓝牙进行设置。
三.蓝牙模块与单片机的连接图
模块与供电系统为 3.3V 的 MCU 连接时,串口交叉连接即可(模块的 RX 接 MCU 的 TX、模块的 TX 接 MCU 的 RX);模块与供电系统为 5V 的 MCU 连接时,可在模块的 RX 端串接一个 220R~1K 电阻再接 MCU 的 TX,模块的 TX 直接接 MCU 的 RX,无需串接电阻。(注:请先确认所使用的 MCU 把 3.0V 或以上电压认定为高电平,否则需加上 3.3V/5V 电平转换电路;本人在使用STC89C52单片机是直连,不需要加电平转换电路)。如图:
四.蓝牙模块与手机APP通讯原理
连接好蓝牙后,APP就可显示单片机发送的数据。
五.测试程序
#include”led.h”#include”delay.h”#include”key.h”#include”sys.h”#include”usart.h” int main(void){u16t;u16len;u16times=0;delay_init();//延时函数初始化NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置NVIC中断分组2:2位抢占优先级,2位响应优先级uart_init(9600);//串口初始化为9600,APP波特率默认9600LED_Init();//LED端口初始化while(1){printf(“HelloWorld!!\r\n\r\n”);delay_ms(500);} }