|
在运用蓝牙时,虽然程序可以使用,并且在PC上操作可以。
但是在进行手机和单片机连接时发现在PC上未发现,也可以说省略的问题:
在PC上程序可以实现的原因是我一直在从机上操作,但是用手机传输,虽然可以收到,但是不执行,和期望中的远程输送不合。
希望能给予帮助。
ps:我不知道是什么地方错了,是程序还是手机或者单片机或者当初设置的错误。我先把程序发出来。感觉程序没错。
# include <reg52.h>
# define uint unsigned int
# define uchar unsigned char
uchar buf;
sbit led1 = P0^0;
sbit led2 = P1^1;
sbit led3 = P1^2;
uchar LedOn;
void delayms(uint xms)
{
uint i, j;
for(i = xms; i > 0; i--)
for(j = 110; j > 0; j--);
}
void UARTinit()
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xfd;
TL1 = 0xfd;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
}
void send(uchar c)
{
SBUF = c;
while(!TI);
TI = 0;
}
void main()
{
led1 = 1;
led2 = 1;
led3 = 1;
UARTinit();
while(1)
{
switch (LedOn)
{
case '0':
led1 = 0;
led3 = 0;
break;
case '1':
led1 = !led1;
break;
case '2':
led2 = !led2;
break;
case '3':
led3 = !led3;
break;
default:
led1 = 0;
led2 = 0;
led3 = 0;
break;
}
delayms(500);
}
}
void UARTinterrupt() interrupt 4
{
if(RI == 1)
{
RI = 0;
buf = SBUF;
LedOn = buf;
send(buf);
}
}
|
|