|
用手機(jī)向藍(lán)牙發(fā)送數(shù)據(jù)使小燈亮起來(lái),但小燈總是不亮,數(shù)據(jù)是能成功發(fā)送和接受的。不知道問題出在哪里,有大神幫幫嗎。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//--定義使用的IO--//
sbit LED=P2^0;
uchar receive_data;
//--聲明全局函數(shù)--//
void UsartConfiguration();
void Delay_1ms(uint i);
void Com_Int(void) interrupt 4
{
while(RI==1);
RI = 0;
receive_data = SBUF;//接收到的數(shù)據(jù)
}
void main()
{
UsartConfiguration();//初始化串口
while(1)
{
if(receive_data == '1')
{
LED =1;//接收到1亮燈
}
if(receive_data == '2')
{
LED =0;//接收到1亮燈
}
}
}
void UsartConfiguration()
{
SCON=0X50; //設(shè)置為工作方式1,8位數(shù)據(jù),可變波特率
TMOD=0X20; //設(shè)置計(jì)數(shù)器工作方式2
PCON=0X00; //波特率不加倍
TH1=0XFd; //計(jì)數(shù)器初始值設(shè)置,9600@11.0592MHz
TL1=0XFd;
TR1=1; //打開計(jì)數(shù)器
ES = 1; //開串口中斷
EA = 1; //開總中斷
}
void Delay_1ms(uint i)//1ms延時(shí)
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
|
|