#ifndef __ESP8266_H #define __ESP8266_H #include "stm32l1xx.h" #include "pbdata.h" #include "bsp.h" #include #include #include #if defined ( __CC_ARM ) #pragma anon_unions #endif //ESP8266模式选择 typedef enum { STA, AP, STA_AP }ENUM_Net_ModeTypeDef; //网络传输层协议,枚举类型 typedef enum{ enumTCP, enumUDP, } ENUM_NetPro_TypeDef; //连接号,指定为该连接号可以防止其他计算机访问同一端口而发生错误 typedef enum{ Multiple_ID_0 = 0, Multiple_ID_1 = 1, Multiple_ID_2 = 2, Multiple_ID_3 = 3, Multiple_ID_4 = 4, Single_ID_0 = 5, } ENUM_ID_NO_TypeDef; #define ESP8266_USART(fmt, ...) USART_printf (UART4, fmt, ##__VA_ARGS__) #define PC_USART(fmt, ...) printf(fmt, ##__VA_ARGS__) //这是串口打印函数,串口1,执行printf后会自动执行fput函数,重定向了printf。 #define RX_BUF_MAX_LEN 200 //最大字节数 extern struct STRUCT_USART_Fram //数据帧结构体 { char Data_RX_BUF[RX_BUF_MAX_LEN]; union { __IO u16 InfAll; struct { __IO u16 FramLength :15; // 14:0 __IO u16 FramFinishFlag :1; // 15 }InfBit; }; }ESP8266_Fram_Record_Struct; //初始化和TCP功能函数 void ESP8266_Init(u32 bound); void ESP8266_AT_Test(void); bool ESP8266_Send_AT_Cmd(char *cmd,char *ack1,char *ack2,u32 time); //void ESP8266_Rst(void); bool ESP8266_Net_Mode_Choose(ENUM_Net_ModeTypeDef enumMode); bool ESP8266_JoinAP( char * pSSID, char * pPassWord ); bool ESP8266_Enable_MultipleId ( FunctionalState enumEnUnvarnishTx ); bool ESP8266_Link_Server(ENUM_NetPro_TypeDef enumE, char * ip, char * ComNum); bool ESP8266_SendString(FunctionalState enumEnUnvarnishTx, char * pStr, u32 ulStrLength, char ucId ); bool ESP8266_UnvarnishSend ( void ); void ESP8266_ExitUnvarnishSend ( void ); void ESP8266_Fram_Record_Struct_Clear(void);//清除缓存 u8 ESP8266_Get_LinkStatus ( void ); void USART_printf( USART_TypeDef * USARTx, char * Data, ... ); bool ESP8266_CWSAP_Set ( char * SSID, char * PWD,char CHL, char ECN ); bool ESP8266_Server_Create ( char * Port, FunctionalState Dis_En ); //MQTT功能函数 bool ESP8266_MQTTUSERCFG( char * pClient_Id, char * pUserName,char * PassWord); bool ESP8266_MQTTCONN( char * Ip, int Num); bool ESP8266_MQTTSUB(char * Topic); bool ESP8266_MQTTPUB( char * Topic,char *temp); bool ESP8266_MQTTCLEAN(void); bool MQTT_SendString(char * pTopic,char *temp2); #endif