1.基本配置命令:
AT+CIOBAUD=******//修改波特率為********(模塊初始波特率默認(rèn)為115200,該命令通過串口助手發(fā)送,重新上電后有效)
AT+CWMODE=2//設(shè)置模塊為AP模式
AT+CWSAP='111','222',11,0//設(shè)置wifi名字為111,密碼是222,通道號(hào)是11,加密方式是OPEN(可以修改)
AT+CIPMUX=1//啟動(dòng)多路連接方式(可以修改)
AT+CIPSERVER=1,5000//開啟server,端口號(hào)為5000(可以修改)
AT+CIPSEND=0,5//向id為0的鏈接發(fā)送5字節(jié)數(shù)據(jù)(可以修改)
2.單片機(jī)控制程序:單片機(jī)型號(hào)為STC89C52RC,晶振11.0592MHz,波特率為9600(控制程序均為自己編寫且測(cè)試有效)
#include<reg51.h>
void Serial_Inti();//初始化程序(必須使用,否則無法收發(fā))
void Uart_Sends(unsigned char *str);//發(fā)送char型字符串
//void Delay1ms(unsigned int t);//1ms延時(shí)函數(shù)
unsigned char Uart_Receive();//接收字符子函數(shù)
void Uart_Dat(unsigned char dat);//數(shù)據(jù)發(fā)送子函數(shù)
void Wifi_Init();//wifi模塊初始化
void Uart_Byte(char byte);//字節(jié)發(fā)送子函數(shù)
void Delay1ms(unsigned int t);//t ms延時(shí)子函數(shù)
/*串口初始化子函數(shù)*/
void Serial_Inti()//串口初始化,一定注意不要啟動(dòng)T1的串口中斷
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
ES=0;//關(guān)閉串口中斷
TR1 = 1;
}
/*字符串發(fā)送子函數(shù)(用于配置)*/
void Uart_Sends(unsigned char *str)
{
while(*str!='\0')
{
SBUF=*str;
while(!TI);//等待發(fā)送完成信號(hào)(TI=1)出現(xiàn)
TI=0;//清除發(fā)送中斷標(biāo)志位以繼續(xù)發(fā)送
str++;
}
}
/*WIFI模塊初始化*/
void Wifi_Init()
{
Delay1ms(3000);
Serial_Inti();
Uart_Sends('AT+CWMODE=2\r\n');
Delay1ms(2000);
Uart_Sends('AT+CWSAP=\'******\',\'*****\',11,0\r\n');//wifi名稱及密碼設(shè)置
Delay1ms(2000);
Uart_Sends('AT+CIPMUX=1\r\n');
Delay1ms(2000);
Uart_Sends('AT+CIPSERVER=1,5000\r\n');
}
/*字節(jié)發(fā)送子函數(shù)*/
void Uart_Byte(char byte)
{
SBUF=byte;
while(!TI);
TI=0;
}
/*數(shù)據(jù)發(fā)送子函數(shù)*/
void Uart_Dat(unsigned char dat)
{
Uart_Sends('AT+CIPSEND=0,1\r\n');
Delay1ms(1000);
Uart_Byte(dat);
Uart_Byte('\r');
Uart_Byte('\n');
Delay1ms(100);//延時(shí)100ms防止出現(xiàn)循環(huán)發(fā)送現(xiàn)象
}
/*指令接收子函數(shù)*/
unsigned char Uart_Receive()
{
unsigned char order;
RI=0;//先將接收表示位置0,防止wifi'配置使的返回信息將其置1
while(!RI);//等待接收到信息后跳出循環(huán)
order=SBUF;//當(dāng)RI==1時(shí)接收到數(shù)據(jù)
RI=0;//清除接收中斷標(biāo)志位以繼續(xù)接收
return order;
}
void Delay1ms(unsigned int t) //誤差 0us
{
unsigned char a,b,c;
for(t;t>0;t--)
for(c=1;c>0;c--)
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}