181 lines
5.6 KiB
C
Raw Permalink Normal View History

2025-05-26 17:39:58 +08:00
#include "stm32f10x.h"
#include "esp.h"
#include <stdio.h>
#include <stdarg.h>
#include "Delay.h"
uint8_t Serial_RxData; //<2F><><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>
uint8_t Serial_RxFlag; //<2F><><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD>յı<D5B5>־λ<D6BE><CEBB><EFBFBD><EFBFBD>
/**
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void Esp_Init(void)
{
/*<2A><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //<2F><><EFBFBD><EFBFBD>USART1<54><31>ʱ<EFBFBD><CAB1>
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //<2F><><EFBFBD><EFBFBD>GPIOA<4F><41>ʱ<EFBFBD><CAB1>
/*GPIO<49><4F>ʼ<EFBFBD><CABC>*/
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure); //<2F><>PA9<41><39><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure); //<2F><>PA10<31><30><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*USART<52><54>ʼ<EFBFBD><CABC>*/
USART_InitTypeDef USART_InitStructure; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
USART_InitStructure.USART_BaudRate =115200; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>Ҫ
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; //ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3>ͽ<EFBFBD><CDBD><EFBFBD>ģʽ<C4A3><CABD>ѡ<EFBFBD><D1A1>
USART_InitStructure.USART_Parity = USART_Parity_No; //<2F><>żУ<C5BC><EFBFBD><E9A3AC><EFBFBD><EFBFBD>Ҫ
USART_InitStructure.USART_StopBits = USART_StopBits_1; //ֹͣλ<D6B9><CEBB>ѡ<EFBFBD><D1A1>
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //<2F>ֳ<EFBFBD><D6B3><EFBFBD>ѡ<EFBFBD><D1A1>
USART_Init(USART1, &USART_InitStructure); //<2F><><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USART_Init<69><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USART1
/*<2A>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5>ж<EFBFBD>
/*NVIC<49>жϷ<D0B6><CFB7><EFBFBD>*/
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //<2F><><EFBFBD><EFBFBD>NVICΪ<43><CEAA><EFBFBD><EFBFBD>2
/*NVIC<49><43><EFBFBD><EFBFBD>*/
NVIC_InitTypeDef NVIC_InitStructure; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NVIC<49><43>USART1<54><31>
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //ָ<><D6B8>NVIC<49><43>·ʹ<C2B7><CAB9>
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; //ָ<><D6B8>NVIC<49><43>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD>Ϊ1
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //ָ<><D6B8>NVIC<49><43>·<EFBFBD><C2B7><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD>Ϊ1
NVIC_Init(&NVIC_InitStructure); //<2F><><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NVIC_Init<69><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NVIC<49><43><EFBFBD><EFBFBD>
/*USARTʹ<54><CAB9>*/
USART_Cmd(USART1, ENABLE); //ʹ<><CAB9>USART1<54><31><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
}
/**
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Byte Ҫ<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void Esp_SendByte(uint8_t Byte)
{
USART_SendData(USART1, Byte); //<2F><><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ݼĴ<DDBC><C4B4><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>USART<52>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*<2A>´<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ݼĴ<DDBC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ<D6BE><CEBB><EFBFBD>ʴ<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ*/
}
/**
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>String Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׵<EFBFBD>ַ
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void Esp_SendString(char *String)
{
uint8_t i;
for (i = 0; String[i] != '\0'; i ++)//<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB>ֹͣ
{
Esp_SendByte(String[i]); //<2F><><EFBFBD>ε<EFBFBD><CEB5><EFBFBD>Serial_SendByte<74><65><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
}
}
/**
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>printf<EFBFBD><EFBFBD>Ҫ<EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵײ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
int fputc(int ch, FILE *f)
{
Esp_SendByte(ch); //<2F><>printf<74>ĵײ<C4B5><D7B2>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD>ֽں<D6BD><DABA><EFBFBD>
return ch;
}
/**
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>prinf<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>format <EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>... <EFBFBD>ɱ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void Esp_Printf(char *format, ...)
{
char String[100]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
va_list arg; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵ı<CDB5><C4B1><EFBFBD>arg
va_start(arg, format); //<2F><>format<61><74>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>arg<72><67><EFBFBD><EFBFBD>
vsprintf(String, format, arg); //ʹ<><CAB9>vsprintf<74><66>ӡ<EFBFBD><D3A1>ʽ<EFBFBD><CABD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
va_end(arg); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>arg
Esp_SendString(String); //<2F><><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
}
/**
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD>ձ<EFBFBD>־λ
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD>ձ<EFBFBD>־λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0~1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ󣬱<EFBFBD>־λ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
uint8_t Esp_GetRxFlag(void)
{
if (Serial_RxFlag == 1) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λΪ1
{
Serial_RxFlag = 0;
return 1; //<2F>򷵻<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
}
return 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λΪ0<CEAA><30><EFBFBD>򷵻<EFBFBD>0
}
/**
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0~255
*/
uint8_t Esp_GetRxData(void)
{
return Serial_RxData; //<2F><><EFBFBD>ؽ<EFBFBD><D8BD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>
}
/**
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>USART1<EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD>жϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ִ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD><EFBFBD>
*/
void USART1_IRQHandler(void)
{
if (USART_GetITStatus(USART1, USART_IT_RXNE) == SET) //<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>USART1<54>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
{
Serial_RxData = USART_ReceiveData(USART1); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ݼĴ<DDBC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>
Serial_RxFlag = 1; //<2F>ý<EFBFBD><C3BD>ձ<EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD>Ϊ1
USART_ClearITPendingBit(USART1, USART_IT_RXNE); //<2F><><EFBFBD><EFBFBD>USART1<54><31>RXNE<4E><45>־λ
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ݼĴ<DDBC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD>־λ
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ݼĴ<DDBC><C4B4><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>Բ<EFBFBD>ִ<EFBFBD>д˴<D0B4><CBB4><EFBFBD>
}
}
#define Wifi "ESP8266"
#define WifiPassword "1234567890"
#define port "2024"
void Esp_SetInstall(void){
Esp_Printf("AT+RST\r\n");
Delay_ms(500);
Esp_Printf("AT+CWSAP=\"%s\",\"%s\",6,4\r\n",Wifi,WifiPassword);
Delay_ms(500);
Esp_Printf("AT+RST\r\n");
Delay_ms(500);
Esp_Printf("AT+CWMODE=2\r\n");
Delay_ms(500);
Esp_Printf("AT+CIPMUX=1\r\n");
Delay_ms(500);
Esp_Printf("AT+CIPSERVER=1,%s\r\n",port);
Delay_ms(500);
Esp_Printf("AT+CIPSEND=0,5\r\n");
Delay_ms(500);
Esp_Printf("OK\r\n");
Delay_ms(500);
}