在给ESP8266发送AT指令时,发送不出去,求各位大神指导,代码如下
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar b,flag;
//发送一字节
void sendByte(uchar b)
{
SBUF = b;
while(!TI);
TI=0;
}
//发送字符串
void sendString(uchar *s)
{
while(*s != '\0') //字符串默认结尾\'0',以此来判断字符串的结束
{
sendByte(*s);
s++;
}
}
void initEsp()
{
uint a;
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
for (a=0; a<50000; a++);
sendString("AT+CWMODE=1\r\n"); //设置为softAP+station共存模式
for (a=0; a<50000; a++);
sendString("AT+CWJAP=\"DGD\",\"\"\r\n"); //连接WiFi
//for (a=0; a<50000; a++);
// sendString("AT+CIFSR=1\r\n"); //查询设备IP
for (a=0; a<50000; a++);
sendString("AT+CIPSTART=\"TCP\",\"192.168.1.4\",8080\r\n"); //连接到服务器
for (a=0; a<50000; a++);
sendString("AT+CIPSEND=4\r\n"); //发送数据
RI=0;
//ES=1;//初始化完成,串行口终端打开
}
void main()
{
initEsp();
sendString("abcd");
}
void uart() interrupt 4
{
while(!TI)
TI=0;
}
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar b,flag;
//发送一字节
void sendByte(uchar b)
{
SBUF = b;
while(!TI);
TI=0;
}
//发送字符串
void sendString(uchar *s)
{
while(*s != '\0') //字符串默认结尾\'0',以此来判断字符串的结束
{
sendByte(*s);
s++;
}
}
void initEsp()
{
uint a;
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
for (a=0; a<50000; a++);
sendString("AT+CWMODE=1\r\n"); //设置为softAP+station共存模式
for (a=0; a<50000; a++);
sendString("AT+CWJAP=\"DGD\",\"\"\r\n"); //连接WiFi
//for (a=0; a<50000; a++);
// sendString("AT+CIFSR=1\r\n"); //查询设备IP
for (a=0; a<50000; a++);
sendString("AT+CIPSTART=\"TCP\",\"192.168.1.4\",8080\r\n"); //连接到服务器
for (a=0; a<50000; a++);
sendString("AT+CIPSEND=4\r\n"); //发送数据
RI=0;
//ES=1;//初始化完成,串行口终端打开
}
void main()
{
initEsp();
sendString("abcd");
}
void uart() interrupt 4
{
while(!TI)
TI=0;
}