|
為什么我的ESP8266串口模塊不能用手機(jī)連接。。。。
單獨用USB串口給它就能連,一跟單片機(jī)共串口就不可以了。。
這是我的程序:
#include <stdio.h>
#include <reg51.h>
#include <intrins.h>
void delay_ms(unsigned int time);
void UartInit();
sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit LED3 = P1^2;
sbit LED4 = P1^3;
sbit LED5 = P1^4;
sbit LED6 = P1^5;
sbit LED7 = P1^6;
sbit LED8 = P1^7;
void UartInit()
{
TMOD = 0X20;
SCON = 0X50;
// PCON = 0X80; //8位自動重載,波特率加倍,即SMOD=1;
PCON = 0;
TH1 = 0XFD; //用11.0592 MHz波特率 9600;
TL1 = 0XFD;
TR1 = 1;
ES=1;
EA=1;
}
void send_str(char *string) //發(fā)送數(shù)據(jù)
{
while(*string!='\0')
{
SBUF = *string;
while(TI != 1);
TI = 0;
string++;
}
}
void delay_ms(unsigned int time) //延時
{
unsigned char a,b,c;
for(;time>0;time--)
for(c=8;c>0;c--)
for(b=197;b>0;b--)
for(a=2;a>0;a--);
}
void ESP8266_init()
{
send_str("AT+CWMODE=2\r\n");
delay_ms(600);
send_str("AT\r\n");
delay_ms(400);
// send_str("AT+CWSAP=\"ayi\",\"1234567890\",1,3\r\n");
// delay_ms(400);
send_str("AT+CIPMUX=1\r\n");
delay_ms(400);
send_str("AT+CIPSERVER=1,333\r\n");
delay_ms(400);
}
//主函數(shù);
void main(void)
{
UartInit();//調(diào)用串口初始化函數(shù)
delay_ms(500);
ESP8266_init();
while(1){;}
}
void receive()interrupt 4
{
unsigned char TempDat;
if (RI)//串口接收完整一個字節(jié)
{
RI = 0;
TempDat = SBUF;
SBUF = TempDat; //把數(shù)據(jù)A送給SBUF緩存器中
}
if(TI);//判斷發(fā)送標(biāo)志位TI,如果發(fā)送完成,硬件會置TI標(biāo)志位1
{
TI = 0;
}
if (TempDat =='1')
{
LED1 = !LED1 ;//開燈
}
else if (TempDat =='2')
{
LED2 = !LED2; //關(guān)燈
}
else if (TempDat =='3')
{
LED3 = !LED3 ;//開風(fēng)扇
}
else if (TempDat =='4')
{
LED4 = !LED4 ;//關(guān)風(fēng)扇
}
else if (TempDat =='5')
{
LED5 = !LED5 ; //開熱水器
}
else if(TempDat =='6')
{
LED6 = !LED7 ; //關(guān)熱水器
}
else if(TempDat =='7')
{
LED7 = !LED7 ; //關(guān)熱水器
}
else if(TempDat =='8')
{
LED8 = !LED8 ; //關(guān)熱水器
}
}
stc-isp的串口助手能夠顯示發(fā)送給模塊的那四條AT指令了,可是就是不能用手機(jī)成功連接它,想不明白???
|
|