最近在网上买了一个蓝牙模块,型号是hc-06,想用此与单片机通讯,即通过发信号给蓝牙,然后经蓝牙的TX与RX与单片机TX与RX通讯。但是怎么调也调不好。说明书上写着蓝牙的用法与普通的串口用法一样。下面的程序通过单片机与电脑上的串口大师通讯是可以的,但是就是与蓝牙通讯不成功,急求解决问题。
#include <reg52.h>
#include <intrins.h>
unsigned char tmp;
sbit led1=P1^0;
sbit led2=P1^3;
main()
{
TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率
TH1=TL1=0xFD; // 波特率9600
SCON = 0x50; // 设定串行口工作方式1 允许接收,相当于下面三句
//SM0=0;
//SM1=1;
//REN=1;
PCON =0x00; // 波特率不倍增
TR1 = 1;
led1=0;led2=0;
while(1)
{
if(RI==1) // 是否有数据到来
{
RI = 0;
tmp = SBUF; // 暂存接收到的数据
if(tmp==1)//如果数据为1
led1=1;
else if(tmp==2)//如果数据为2
led1=1;
else {led1=0;led2=0;}
}
}
}
|