- #define MAIN_Fosc 22118400L
- #include "STC15Fxxxx.H"
- #define Baudrate1 115200UL
- #define Baudrate2 115200UL
- u8 code Connect_Com[]={0X10,0X32,0X00,0X03,0X45,0X44,0X50,0X01,0X40,0X01,0X2C,0X00,0X09,0X35,0X31,0X38,0X39,0X38,0X38,0X32,0X37,
- 0X31,0X00,0X1C,0X63,0X52,0X6E,0X67,0X4F,0X50,0X4B,0X3D,0X33,0X6C,0X4D,0X65,0X78,0X32,0X41,0X75,0X45,0X69,0X32,0X41,0X37,0X63,0X6D,0X58,0X58,0X38,0X63,0X3D,0xff};
- u8 code Save_Data []={0X80,0X63,0X00,0X01,0X00,0X5F,0X7B,0X0A,0X09,0X22,0X64,0X61,0X74,0X61,0X73,0X74,0X72,0X65,0X61,0X6D,0X73,0X22,0X3A,0X09,0X5B,0X7B,0X0A,0X09,0X09,0X09,0X22,0X69,
- 0X64,0X22,0X3A,0X09,0X22,0X74,0X65,0X6D,0X70,0X65,0X72,0X61,0X74,0X75,0X72,0X65,0X22,0X2C,0X0A,0X09,0X09,0X09,0X22,0X64,0X61,0X74,0X61,0X70,0X6F,0X69,
- 0X6E,0X74,0X73,0X22,0X3A,0X09,0X5B,0X7B,0X0A,0X09,0X09,0X09,0X09,0X09,0X22,0X76,0X61,0X6C,0X75,0X65,0X22,0X3A,0X09,0X38,0X30,0X0A,0X09,0X09,0X09,0X09,0X7D,0X5D,0X0A,
- 0X09,0X09,0X7D,0X5D,0X0A,0X7D,0xff};
- unsigned char code WIFI_Heartbeat[]={0XC0,0X00,0XFF};
- bit B_TX1_Busy;
- bit B_TX2_Busy;
- bit Heartbeat_Flag;
- bit Heartbeat_Detection;
- u8 Res_Char;
-
- void PrintString1(u8 *puts);
- void PrintString2(u8 *puts);
- void PrintString_baowen(u8 *puts);
-
- void UART1_config(u8 brt);
- void UART2_config(u8 brt);
- void PrintString1(u8 *puts);
- void PrintString2(u8 *puts);
- void WIFI_Init();
- void Delay3000ms();
- void Delay10000ms();
-
- void Heartbeat_Response()
- {
- unsigned char j;
- if(Heartbeat_Flag==1)
- {
- Heartbeat_Flag=0;
- }
- else
- {
- for(j=0;j<3 && Heartbeat_Flag !=1;j++)
- {
- PrintString_baowen(WIFI_Heartbeat);
- Delay3000ms();
- Delay3000ms();
- if(Heartbeat_Flag==1)
- break;
- }
- if(Heartbeat_Flag==1)
- {
- Heartbeat_Flag=0;
- }
- else
- {
- WIFI_Init();
- Delay3000ms();
- PrintString_baowen(Connect_Com);
- Delay3000ms();
- }
- }
- }
-
-
-
-
-
- void main(void)
- {
- P0M1 = 0; P0M0 = 0;
- P1M1 = 0; P1M0 = 0;
- P2M1 = 0; P2M0 = 0;
- P3M1 = 0; P3M0 = 0;
- P4M1 = 0; P4M0 = 0;
- P5M1 = 0; P5M0 = 0;
- P6M1 = 0; P6M0 = 0;
- P7M1 = 0; P7M0 = 0;
- UART1_config(1);
- UART2_config(2);
- EA = 1;
-
- WIFI_Init();
- PrintString_baowen(Connect_Com);
- Delay3000ms();
-
-
-
- while (1)
- {
-
- }
- }
-
-
-
-
-
- void PrintString1(u8 *puts)
- {
- for (; *puts != 0; puts++)
- {
- SBUF = *puts;
- B_TX1_Busy = 1;
- while(B_TX1_Busy);
- }
- }
-
-
-
-
-
- void PrintString2(u8 *puts)
- {
- for (; *puts != 0; puts++)
- {
- S2BUF = *puts;
- B_TX2_Busy = 1;
- while(B_TX2_Busy);
- }
- }
- void PrintString_baowen(u8 *puts)
- {
- for (; *puts != 0xff; puts++)
- {
- S2BUF = *puts;
- B_TX2_Busy = 1;
- while(B_TX2_Busy);
- }
- }
-
-
-
-
-
- void SetTimer2Baudraye(u16 dat)
- {
- AUXR &= ~(1<<4);
- AUXR &= ~(1<<3);
- AUXR |= (1<<2);
- TH2 = dat / 256;
- TL2 = dat % 256;
- IE2 &= ~(1<<2);
- AUXR |= (1<<4);
- }
-
-
-
-
-
- void UART1_config(u8 brt)
- {
-
- if(brt == 2)
- {
- AUXR |= 0x01;
- SetTimer2Baudraye(65536UL - (MAIN_Fosc / 4) / Baudrate1);
- }
-
- else
- {
- TR1 = 0;
- AUXR &= ~0x01;
- AUXR |= (1<<6);
- TMOD &= ~(1<<6);
- TMOD &= ~0x30;
- TH1 = (u8)((65536UL - (MAIN_Fosc / 4) / Baudrate1) / 256);
- TL1 = (u8)((65536UL - (MAIN_Fosc / 4) / Baudrate1) % 256);
- ET1 = 0;
- INT_CLKO &= ~0x02;
- TR1 = 1;
- }
-
- SCON = (SCON & 0x3f) | 0x40;
-
- ES = 1;
- REN = 1;
- P_SW1 &= 0x3f;
-
-
-
- B_TX1_Busy = 0;
-
-
- }
-
-
-
-
-
- void UART2_config(u8 brt)
- {
- if(brt == 2)
- {
- SetTimer2Baudraye(65536UL - (MAIN_Fosc / 4) / Baudrate2);
- S2CON &= ~(1<<7);
- IE2 |= 1;
- S2CON |= (1<<4);
- P_SW2 &= ~0x01;
-
- B_TX2_Busy = 0;
-
-
- }
- }
-
-
-
-
- void UART1_int (void) interrupt UART1_VECTOR
- {
- if(RI)
- {
- RI = 0;
- }
- if(TI)
- {
- TI = 0;
- B_TX1_Busy = 0;
- }
- }
-
-
-
-
- void UART2_int (void) interrupt UART2_VECTOR
- {
-
- if((S2CON & 1) != 0)
- {
- S2CON &= ~1;
- Res_Char=S2BUF;
- SBUF=Res_Char;
- if(Res_Char==0XD0)
- {
- Heartbeat_Detection=1;
- }
- else
- if((Res_Char==0X00) && (Heartbeat_Detection==1))
- {
- Heartbeat_Flag=1;
- }
- else
- Heartbeat_Detection=0;
- }
- if((S2CON & 2) != 0)
- {
- S2CON &= ~2;
- B_TX2_Busy = 0;
- }
- }
- void Delay10000ms()
- {
- unsigned char i, j, k;
- _nop_();
- _nop_();
- i = 165;
- j = 59;
- k = 28;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
- void Delay3000ms()
- {
- unsigned char i, j, k;
- _nop_();
- _nop_();
- i = 127;
- j = 18;
- k = 107;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
- void WIFI_Init()
- {
-
- PrintString2("+++");
- Delay10000ms();
-
- PrintString2("AT\r\n");
- Delay10000ms();
-
- PrintString2("AT+CWMODE=3\r\n");
- Delay10000ms();
-
- PrintString2("AT+RST\r\n");
- Delay10000ms();
-
- PrintString2("AT+CWJAP=\"iPhoneSE\",\"12345678\"\r\n");
- Delay10000ms();
- Delay10000ms();
- Delay10000ms();
-
- PrintString2("AT+CIPSTART=\"TCP\",\"183.230.40.39\",876\r\n");
- Delay10000ms();
- Delay10000ms();
- Delay10000ms();
- PrintString2("AT+CIPMODE=1\r\n");
- Delay10000ms();
-
- PrintString2("AT+CIPSEND\r\n");
- Delay10000ms();
-
-
-
- }
復制代碼 |