8266配合51单片机发送数据程序

#include <REGX52.H>
#include <stdio.h>
#include <string.h>
#define u8 unsigned char
#define u16 unsigned int
#define u32 unsigned long
#define code const
u8 code data esp_at[]="AT\r\n";
u8 code data esp_cwmode[]="AT+CWMODE=1\r\n"; //设置工作模式为1 station 
u8 code data esp_cwjap[]="AT+CWJAP=\"Emp.\",\"liugeliu6\"\r\n";//连接到手机wifi热点上 
u8 code data esp_cifsr[]="AT+CIFSR\r\n";//查询本机ip 
u8 code data esp_cipmux[]="AT+CIPMUX=1\r\n";//建立多连模式
u8 code data esp_cipserver[]="AT+CIPSERVER=1,8080\r\n";//创建服务器
u8 code data esp_cipstatus[]="AT+CIPSTATUS\r\n";//查看当前服务器连接
//u8 code data esp_cipsend[]="AT+CIPSEND=0,2\r\n";//发送数据
u8 xdata esp8622_return[5];
u8 esp_8622_count;
void delayms (u16 t)
{ 
u8 i; 
while (t--) for ( i=0; i<120; i++ ); 
} 

void uartint()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}

void uartsendbyte(u8 ch)
{
SBUF=ch; 
while(!TI);
TI=0;
}

void uartsendstr(u8 *s)
{
ES=0;
while (*s) 
{
uartsendbyte(*s);
s++;
}
ES=1;
}

u8 data_compare(u8 *p)
{
if(strstr(esp8622_return,p)!=NULL)
return 1;
else
return 0;
}

void esp8266init()
{
ES=0;
while(1){
uartsendstr(esp_at); 
if(data_compare("OK"))break;
delayms(600);
} memset(esp8622_return,0,5);
while(1){
uartsendstr(esp_cwmode);
if(data_compare("OK")||data_compare("no change"))break;
delayms(600);
}memset(esp8622_return,0,5);
while(1){
uartsendstr(esp_cwjap);
if(data_compare("OK"))break;
delayms(3000);
}memset(esp8622_return,0,5);
while(1){
uartsendstr(esp_cifsr);
if(data_compare("OK"))break;
delayms(3000);
}memset(esp8622_return,0,5);
while(1){
uartsendstr(esp_cipmux);
if(data_compare("OK"))break;
delayms(3000);
}memset(esp8622_return,0,5);
while(1){
uartsendstr(esp_cipserver);
if(data_compare("OK"))break;
delayms(3000);
}memset(esp8622_return,0,5);
while(1){ 
uartsendstr(esp_cipstatus);
if(data_compare("OK"))break;
delayms(3000);
}memset(esp8622_return,0,5);
ES=1;
}

void main()
{
uartint();
esp8266init();
while(1)
{

}
}

void uart() interrupt 4 using 1
{
if(TI)
{
TI=0;
}
if(RI)
{
RI=0;
esp8622_return[esp_8622_count]=SBUF;
esp_8622_count++;
if(esp_8622_count>4)esp_8622_count=0;
}
}

猜你喜欢

转载自blog.csdn.net/qq_34597963/article/details/85220499
今日推荐