欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
esp8266手機遙控代碼
[打印本頁]
作者:
wasee
時間:
2018-6-11 09:53
標題:
esp8266手機遙控代碼
/**************************************************************************************
*功能:Wifi模塊測試 *
*說明:手機安裝測試APP,手機連接WiFi模塊,控制開發板上的LED、蜂鳴器 *
***************************************************************************************/
#include <REGX52.H>
#include<intrins.h>
typedef unsigned int uint;
typedef unsigned char uchar;
/**串口數據使用**/
#define RX1_Lenth 32 //串口接收緩沖長度
uchar idata RX1_Buffer[RX1_Lenth]; //接收緩沖
uchar TX1_Cnt; //發送計數
uchar RX1_Cnt; //接收計數
bit B_TX1_Busy; //發送忙標志
/************* 端口引腳定義 **************/
sbit LED1=P1^0;//LED1
sbit LED2=P1^1;//LED2
sbit LED3=P1^2;//LED3
sbit DK1=P1^3;//繼電器
sbit BEEP=P2^5;//蜂鳴器
/**wifi模塊命令**/
unsigned char RST[8]="AT+RST\r\n";
unsigned char LYMS[13]="AT+CWMODE=2\r\n";
//unsigned char SZLY[38]="AT+CWSAP='ESP8266','0123456789',11,0\r\n";
unsigned char SZDLJ[13]="AT+CIPMUX=1\r\n";
unsigned char KQFU[21]="AT+CIPSERVER=1,5000\r\n";
unsigned char FSSJ[13]="AT+CIPSEND=\r\n";//AT+CIPSEND= 發送數據
void Delay2(unsigned long cnt)
{
long i;
for(i=0;i<cnt*100;i++);
}
void Delay3(unsigned int N)
{
int i;
for(i=0;i<N*10;i++);
}
/********************************************************************
* 名稱 : Uart_Init()
* 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中斷
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void Uart_Init(void)
{
TMOD = 0x20; //定時器工作在定時器1的方式2
PCON = 0x00; //不倍頻
SCON = 0x50; //串口工作在方式1,并且啟動串行接收
TH1 = 0xFd; //設置波特率 9600
TL1 = 0xFd;
TR1 = 1; //啟動定時器1
ES = 1; //開串口中斷
EA = 1; //開總中斷
RX1_Cnt=0; //接受計數清零
TX1_Cnt = 0; //發送計數清零
B_TX1_Busy = 0;//初始化判忙標志位
}
/********************************************************************
* 名稱 : Main()
* 功能 : 主函數
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void main(void)
{
char i=0;
Uart_Init();
Delay3(2000);
/******************設置WiFi模塊**********************************************/
for(i=0;i<8;i++)//AT+RST 重啟
{
SBUF=RST[i];Delay3(5);
}
Delay3(5000);
for(i=0;i<13;i++)//AT+CWMODE=2 設置成路由模式
{
SBUF=LYMS[i];Delay3(5);
}
/*Delay3(1000);
for(i=0;i<38;i++)//AT+CWSAP="ESP8266","0123456789",11,0 設置路由
{
SBUF=SZLY[i];Delay3(5);
}*/
Delay3(3000);
for(i=0;i<13;i++)//AT+CIPMUX=1 設置成多連接
{
SBUF=SZDLJ[i];Delay3(5);
}
Delay3(2000);
for(i=0;i<21;i++)//AT+CIPSERVER=1,5000 開啟TCP服務端口
{
SBUF=KQFU[i];Delay3(5);
}
Delay3(2000);
while (1)
{
}
}
/********************************************************************
* 名稱 : Uart_Int()
* 功能 : 串口中斷子函數
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void UART1_int (void) interrupt 4
{
// char i,a,b,c;
if(RI)
{
RI = 0;
RX1_Buffer[RX1_Cnt] = SBUF; //保存一個字節
if(RX1_Buffer[0]==0x45)
{
RX1_Cnt++;
}
else
{
RX1_Cnt=0;
}
if(RX1_Cnt>=10)
{
if(RX1_Buffer[0]==0x45&&RX1_Buffer[1]==0x53&&RX1_Buffer[2]==0x50)
{
if(RX1_Buffer[4]==0x4C&&RX1_Buffer[5]==0x45&&RX1_Buffer[6]==0x44)//判斷LED
{
if(RX1_Buffer[7]==0x31)//判斷LED1
{
if(RX1_Buffer[3]==0x4B)//判斷開
{
LED1=0;
}
if(RX1_Buffer[3]==0x47)//判斷關
{
LED1=1;
}
}
if(RX1_Buffer[7]==0x32)//判斷LED2
{
if(RX1_Buffer[3]==0x4B)//判斷開
{
LED2=0;
}
if(RX1_Buffer[3]==0x47)//判斷關
{
LED2=1;
}
}
if(RX1_Buffer[7]==0x33)//判斷LED3
{
if(RX1_Buffer[3]==0x4B)//判斷開
{
LED3=0;
}
if(RX1_Buffer[3]==0x47)//判斷關
{
LED3=1;
}
}
}
if(RX1_Buffer[4]==0x4A&&RX1_Buffer[5]==0x44&&RX1_Buffer[6]==0x51)//判斷繼電器
{
if(RX1_Buffer[7]==0x31)//判斷LED1
{
if(RX1_Buffer[3]==0x4B)//判斷開
{
DK1=1;
}
if(RX1_Buffer[3]==0x47)//判斷關
{
DK1=0;
}
作者:
wasee
時間:
2018-6-12 09:23
/********************************************************************
* 名稱 : Uart_Int()
* 功能 : 串口中斷子函數
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void UART1_int (void) interrupt 4
{
// char i,a,b,c;
if(RI)
{
RI = 0;
RX1_Buffer[RX1_Cnt] = SBUF; //保存一個字節
if(RX1_Buffer[0]==0x45)
{
RX1_Cnt++;
}
else
{
RX1_Cnt=0;
}
if(RX1_Cnt>=10)
{
if(RX1_Buffer[0]==0x45&&RX1_Buffer[1]==0x53&&RX1_Buffer[2]==0x50)
{
if(RX1_Buffer[4]==0x4C&&RX1_Buffer[5]==0x45&&RX1_Buffer[6]==0x44)//判斷LED
{
if(RX1_Buffer[7]==0x31)//判斷LED1
{
if(RX1_Buffer[3]==0x4B)//判斷開
{
LED1=0;
}
if(RX1_Buffer[3]==0x47)//判斷關
{
LED1=1;
}
}
if(RX1_Buffer[7]==0x32)//判斷LED2
{
if(RX1_Buffer[3]==0x4B)//判斷開
{
LED2=0;
}
if(RX1_Buffer[3]==0x47)//判斷關
{
LED2=1;
}
}
if(RX1_Buffer[7]==0x33)//判斷LED3
{
if(RX1_Buffer[3]==0x4B)//判斷開
{
LED3=0;
}
if(RX1_Buffer[3]==0x47)//判斷關
{
LED3=1;
}
}
}
if(RX1_Buffer[4]==0x4A&&RX1_Buffer[5]==0x44&&RX1_Buffer[6]==0x51)//判斷繼電器
{
if(RX1_Buffer[7]==0x31)//判斷LED1
{
if(RX1_Buffer[3]==0x4B)//判斷開
{
DK1=1;
}
if(RX1_Buffer[3]==0x47)//判斷關
{
DK1=0;
}
}
}
if(RX1_Buffer[3]==0x46&&RX1_Buffer[4]==0x4D&&RX1_Buffer[5]==0x51&&RX1_Buffer[6]==0x43&&RX1_Buffer[7]==0x53)//判斷蜂鳴器
{
BEEP=1;Delay2(100);BEEP=0;Delay2(100);BEEP=1;Delay2(100);BEEP=0;Delay2(100);
}
RX1_Cnt=0;
}
else
{
RX1_Cnt=0;
}
RX1_Cnt=0;
}
}
if(TI)
{
TI = 0;
B_TX1_Busy = 0; //清除發送忙標志
}
}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1