基于ESP8266和STM32单片机的程序代码编写

发布者:真瓷堂最新更新时间:2020-02-10 来源: eefocus关键字:ESP8266  STM32  单片机  程序代码 手机看文章 扫描二维码
随时随地手机看文章

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 ( “rn正在配置8266rn” );//向串口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 ( “rn配置ESP8266 OKrn” );

while (1)//无限循环

{

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

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

{

printf ( “rn有客户端连接rn” );

UserCmd=“mhmx”;//客户端发来的命令字符串,可以是中文“开启”,“关闭”等

if(ESP8266_QL(UserCmd))//如果命令字符串匹配执行下列代码

{

printf ( “rn接收到指令rn” );//

//这里可以添加自己需要的代码,比如打开LED,或某个引脚的电平

sprintf (str,“智能家居启动完成rn” );

ul = strlen ( str );

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

delay_ms (1000);

}

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

{

printf ( “rn无有效命令rn” );

}

}

else//没有链接

{

printf ( “rn无客户端连接rn” );

}

//以下代码为检测是否和wifi失去连接,如果丢失连接,就重新连接。

if(TcpClosedFlag) //检查标志位

{

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

do

{

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

}

while(!res);//如果为0,获取状态失败,一直获取

if(res == 4) //4表示失去连接

{

printf ( “rn正在重新连接rn” );

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 ( “rn重新连接成功rn” );

}

//while(!ESP8266_UnvarnishSend());//重新启动透传,如果需要去掉//

}

}

}

关键字:ESP8266  STM32  单片机  程序代码 引用地址:基于ESP8266和STM32单片机的程序代码编写

上一篇:基于STM32单片机FSMC协议分析
下一篇:STM32F103之IAR调试配置

推荐阅读最新更新时间:2024-11-12 13:18

通用MCU强势发力,汽车电子/锂电相关业务撑起“第三增长曲线”
3月31日,国民技术披露了公司2021年度业绩报告。报告期内,该公司实现营业收入10.18亿元,较上年同期增长168%;实现归属于上市公司所有者的净利润2.19亿元,较上年同期增长1,849.09%,扣除非经常性损益后的归属于上市公司所有者的净利润 4,635.80万元,较上年同期增长131.59%。 对于报告期内的业绩变化,业务层面可以大致总结为两点:首先是得益于2021年集成电路下游市场需求增加,该公司系列化通用MCU产品在报告期内实现较大规模增长,集成电路业务销售收入和毛利同比较大幅增长;另一方面,国民技术负极材料类业务销售在市场需求扩容的背景下大幅增长,报告期内负材料类业务的销售收入和毛利同比较大幅增长。 显然,2021
[手机便携]
开发51单片机操作系统注意事项
51系列单片机是美国Intel公司在1980年推出的高性能8位单片机,在我国的应用非常广泛。目前,在软件设计中需要软件工程师从底层做起,在系统软件设计方面需要做大量的重复性劳动。如果开发一套基于51系列单片机的操作系统,那么用户只需要编写各个任务的程序,不必同时将所有任务运行的各种情况记在心中,不但大大减少了程序编写的工作量,而且减少了出错的可能性。 1 开发平台的选择和论证 开发平台的选择至关重要,因为有时它不光影响进度、产品质量、可维护性等一般问题,还涉及到方案的可实现性。 在本系统中,选择51系列单片机作为操作系统的运行平台有以下原因。 首先,51系列单片机应用非常广泛,一大批性能优越的51兼容单片机相继推出。这
[单片机]
开发51<font color='red'>单片机</font>操作系统注意事项
stm32笔记:RCC时钟实验
C代码 //STM32F103RBT6,包含的启动代码是 STM32F10x.s #include mytype.h //GPIOA8是 LED0 #define GPIOA_CRL (*(vu32*)(0x40000000+0x10000+0x0800+0x00)) //volatile unsigned long #define GPIOA_CRH (*(vu32*)(0x40000000+0x10000+0x0800+0x04)) #define GPIOA_IDR (*(vu32*)(0x40000000+0x10000+0x0800+0x08)) #define GPIOA
[单片机]
<font color='red'>stm32</font>笔记:RCC时钟实验
STM32标准库及的Keil软件包下载
在安装好Keil开发工具后,还需要分别安装STM32相关的软件包及相关的函数库。 由于官网一般下载速度较慢,将常用及标准库上传在网盘上,可自行下载。 Keil软件包 链接:https://pan.baidu.com/s/1Uh1J0L9gZSIWKtDzocQWJA 提取码:gdcw STM32标准库 链接:https://pan.baidu.com/s/1NQXKnOTQAr0P3NMqrnI2Ww 提取码: zs99 STM32的软件包属于Keil相关,下载方法如下: 1. 打开链接:https://www.keil.com/dd2/Pack/ 2. 下拉找到所使用的STM32芯片的型号,点击右
[单片机]
<font color='red'>STM32</font>标准库及的Keil软件包下载
单片机学习笔记-51单片机实现独立按键的短按及长按触发
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: Independent-KEY ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200506 ---- @ModifiedTime: 20200506 ---- @Description:
[单片机]
<font color='red'>单片机</font>学习笔记-51<font color='red'>单片机</font>实现独立按键的短按及长按触发
STM32应用简章之PWM输出
① 使能定时器3和相关IO口时钟。 使能定时器3时钟:RCC_APB1PeriphClockCmd(); 使能GPIOB时钟:RCC_APB2PeriphClockCmd(); ② 初始化IO口为复用功能输出。函数:GPIO_Init(); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; ③这里我们是要把PB5用作定时器的PWM输出引脚,所以要重映射配置, 所以需要开启AFIO时钟。同时设置重映射。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
[单片机]
TI 54xx DSP与51单片机的接口技术
1 硬件设计    1.1 时序匹配     HPI8总共有18根信号线。其中数据线8根(HD0~HD7),其余10根都是控制线,如表1所列 ①HAS:在数据线和地址复用的MCU中,与ALE信号连接,在下降沿锁存HBIL、HCNTL0/1、HR/W,因数这些信号通常与地址线连接。如果MCU的数据线和地址线没有复用,则应该接高电平。    ②HDS1、HDS2:数据传输的时序控制。时序见图1,即下降沿传输开始,上升沿传输结束。另外如果不使用HAS(即接高电平),也可以配合HCS对HBIL、HCNTL0/1、HR/W进行锁存。    ③HCNTL0/:选择HPI内部寄
[单片机]
TI 54xx DSP与51<font color='red'>单片机</font>的接口技术
GD32单片机的工作原理和内部结构 GD32单片机怎么烧写程序?
GD32单片机是一种基于ARM Cortex-M3核心的嵌入式处理器,由国内芯片厂商GigaDevice公司开发和生产。它是一种高性能、低功耗、成本合理的微控制器,广泛应用于智能家居、智能穿戴、消费电子、汽车电子、电力电子、医疗设备等领域。 GD32单片机在工作原理上与其他单片机基本相同,主要包括外设控制器、CPU核心、内存、时钟、复位电路等部分组成。不同的是,GD32单片机采用了ARM Cortex-M3的高性能处理器,拥有更高的运算速度和更强的计算能力,同时具备低功耗、低噪声、高可靠性等特点。 GD32单片机的内部结构主要包括CPU核心、中断控制器、系统控制器、时钟控制器、Flash存储器、SRAM存储器、DMA控制器
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved