您的位置 首页 国产IC

根据ESP8266和STM32单片机的程序代码编写

基于ESP8266和STM32单片机的程序代码编写-ESP8266模块在STM32上做Server时,外部对其端口进行收发数据的程序,大部分代码都备注了说明。

因为是从client代码改来的,所以函数名不去改它了。

ESP8266模块在STM32上做Server时,外部对其端口进行收发数据的程序,大部分代码都补白了阐明。

由于是从client代码改来的,所以函数名不去改它了。

根据ESP8266和STM32单片机的程序代码编写

#include“sta_tcpclent_test.h”

#include “SysTIck.h”

#include “usart.h”

#include “esp8266_drive.h”

#include

#include

volaTIle u8 TcpClosedFlag = 0;//界说失掉衔接标志

void ESP8266_STA_TCPClient_Test(void)

{

u8 res;

u32 ul=0;

char str[100]={0},*links,*UserCmd;//links为检测衔接字符串变量,usercmd为用户指令字符串变量

printf ( “\r\n正在装备8266\r\n” );//向串口1发消息

links=“STATUS:3”;//STATUS=2表明无衔接,=3为有衔接

ESP8266_CH_PD_Pin_SetH;//设置CH_PD为高电平

ESP8266_AT_Test();//AT测验

ESP8266_Net_Mode_Choose(STA_AP);//挑选形式

while(!ESP8266_JoinAP(User_ESP8266_SSID,User_ESP8266_PWD));//衔接外部wifi,

ESP8266_Enable_MulTIpleId (ENABLE );//设置多链接

while(!ESP8266_StartOrShutServer ( ENABLE, “8266”, “2000” ));//敞开服务器和端口

printf ( “\r\n装备ESP8266 OK\r\n” );

while (1)//无限循环

{

ESP8266_Send_AT_Cmd ( “AT+CIPSTATUS”, “ok”, 0, 1000 );//查看链接状况

if(strstr ( ESP8266_Fram_Record_Struct .Data_RX_BUF, links))//假如有链接

{

printf ( “\r\n有客户端衔接\r\n” );

UserCmd=“mhmx”;//客户端发来的指令字符串,可所以中文“敞开”,“封闭”等

if(ESP8266_QL(UserCmd))//假如指令字符串匹配履行下列代码

{

printf ( “\r\n接收到指令\r\n” );//

//这儿能够增加自己需求的代码,比方翻开LED,或某个引脚的电平

sprintf (str,“智能家居发动完结\r\n” );

ul = strlen ( str );

ESP8266_SendString ( DISABLE, str, ul, MulTIple_ID_0 );//向客户端发数据

delay_ms (1000);

}

else//接收到的字符串不匹配

{

printf ( “\r\n无有用指令\r\n” );

}

}

else//没有链接

{

printf ( “\r\n无客户端衔接\r\n” );

}

//以下代码为检测是否和wifi失掉衔接,假如丢掉衔接,就从头衔接。

if(TcpClosedFlag) //查看标志位

{

//ESP8266_ExitUnvarnishSend(); //退出透传形式,如有需求去掉//

do

{

res = ESP8266_Get_LinkStatus(); //获取链接状况

}

while(!res);//假如为0,获取状况失利,一向获取

if(res == 4) //4表明失掉衔接

{

printf ( “\r\n正在从头衔接\r\n” );

while(!ESP8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD ) );

while(!ESP8266_Enable_MultipleId (ENABLE ));

while(!ESP8266_StartOrShutServer ( ENABLE, “8266”, “500” ));

//while (!ESP8266_Link_Server(enumTCP, User_ESP8266_TCPServer_IP, User_ESP8266_TCPServer_PORT, Single_ID_0 ) );//假如8266是client形式,去掉//启用此代码

printf ( “\r\n从头衔接成功\r\n” );

}

//while(!ESP8266_UnvarnishSend());//从头发动透传,假如需求去掉//

}

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/347123.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部