串口初试------蓝牙模块
-
- 蓝牙模块的使用
-
- [1. 软硬件条件](#1. 软硬件条件)
- [2. 蓝牙模块](#2. 蓝牙模块)
- [3. 代码(分文件处理之后的代码)](#3. 代码(分文件处理之后的代码))
蓝牙模块的使用
1. 软硬件条件
- 单片机型号:STC89C52RC
- 开发环境:KEIL4
- 烧录软件串口通信软件:stc-isp
- 蓝牙模块:HC-04
- LED模块(高电平点亮)
2. 蓝牙模块
- 蓝牙模块的工作原理大致也是通过串口实现对数据的收发,只不过这里的数据传输通过手机与蓝牙直接的无线连接实现,最终数据传输到蓝牙模块,蓝牙再通过串口与单片机联系。
- HC-04 蓝牙模块简单易用,可以通过扫蓝牙上的二维码 下载对应app,通过app完成数据的传输。
注意蓝牙模块与单片机连接时 RXD ,TXD 交叉连接。
3. 代码(分文件处理之后的代码)
c
#include <string.h>
#include "time.h"
#include "uart.h"
#include "config.h"
#define SIZE 3
char cmd[SIZE];
void init(){
UartInit();
testLed = 1;
LED = OFF;
Delay1000ms();
testLed = 0;
}
void main(){
init();
while(1){
sendString("hello world!\r\n");
testLed = !testLed;
Delay1000ms();
}
}
void UartHandler() interrupt 4{
static char i = 0;
char tmp = SBUF;
if(RI){
RI = 0;
if(i == SIZE || tmp == 'c' || tmp == 'o'){
i = 0;
}
cmd[i++] = tmp;
if(cmd[0] == 'o' && cmd[1] == 'p'){
LED = ON;
memset(cmd,'\0',SIZE);
}
if(cmd[0] == 'c' && cmd[1] == 'l'){
LED = OFF;
memset(cmd,'\0',SIZE);
}
}
if(TI);
}
对于 串口初始化和串口发送字符串的函数封装到了 Uart 头文件中,具体实现详细见单片机基础10------串口实验