|
ESP8266模塊采用STA工作模式,先在電腦上用串口調(diào)試助手,將ESP8266模塊設(shè)置為STA模式,波特率9600,具體指令如下:
1. 設(shè)置AP模式 AT+CWMODE=2
2. 復(fù)位生效 AT+RST
3. 配置熱點(diǎn) AT+CWSAP="test","12345678",1,3
這樣即使ESP8266復(fù)位也不會(huì)將這些信息擦除,直接上后面的指令就可以
單片機(jī)接ESP8266一定注意兩者一定要共地,否則ESP8266不能正常工作,ESP8266電源要3.3V供電,5V的貌似不行,ESP8266的EN腳外接一個(gè)1K歐的電阻再接3.3V電源
IMG_20200312_112259.jpg (4.18 MB, 下載次數(shù): 111)
下載附件
2020-3-21 11:34 上傳
#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit LED = P1^0;u8 dat;
void Init(void);//串口初始化函數(shù)
void Delay_ms(u16 n);//延時(shí)子函數(shù)
void Sent_ZF(u8 dat);//發(fā)送一個(gè)字節(jié)
void AT_Send_String(u8 *string);//發(fā)送字符串
void ESP8266_Init();//ESP8266初始化
void Init(void) //串口初始化函數(shù)
{
TMOD=0x20; //定時(shí)器工作方式2,8位自動(dòng)重載(0010 0000)
TL1=0xfd; //裝入初值
TH1=0xfd;
TR1=1; //啟動(dòng)定時(shí)器1
REN=1; //允許串行口接收數(shù)據(jù)
SM0=0; //工作方式1,10位異步收發(fā)
SM1=1;
EA=1; //打開(kāi)全局中斷控制
ES=1; //打開(kāi)串行口中斷
}
void main()
{
Init();
ESP8266_Init();
while(1);
}
void Sent_ZF(u8 dat) //發(fā)送一個(gè)字節(jié)
{
ES = 0;
TI=0;
SBUF = dat;
while(!TI);
TI = 0;
ES = 1;
}
void Delay_ms(u16 n) //延時(shí)子程序
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<123;j++);
}
void AT_Send_String(u8 *string) //發(fā)送字符串
{
while(*string!='\0')
{
Sent_ZF(*string);
string++;
Delay_ms(10);
}
}
void ESP8266_Init() //ESP8266初始化
{
AT_Send_String("AT+RST\r\n"); //重啟模塊
Delay_ms(10000);
Delay_ms(10000);
AT_Send_String("AT+CIPMUX=1\r\n"); //設(shè)置為多連接模式,啟動(dòng)模塊
Delay_ms(10000);
Delay_ms(10000);
AT_Send_String("AT+CIPSERVER=1,8080\r\n"); //服務(wù)器的設(shè)置端口
Delay_ms(10000);
Delay_ms(10000);
}
void InterruptUART() interrupt 4 //控制小燈開(kāi)關(guān)
{
RI= 0; //清零
dat= SBUF; //收到的數(shù)據(jù)占存到SBUF中
{
if(dat=='o')
{
LED =0;
}
if(dat=='f')
{
LED =1;
}
}
}
手機(jī)上下載一個(gè)叫網(wǎng)絡(luò)調(diào)試助手的軟件,IP為192.168.4.1(貌似都是這個(gè)端口),端口為8080,連接成功后發(fā)送f或者o可以控制LED小燈開(kāi)關(guān)
|
評(píng)分
-
查看全部評(píng)分
|