C--51--WiFi模块ESP-01S ( 路由服务器 )

ESP-01S当成服务器:

1、接线
(接CH340接入pc)
USB转TTL插入电脑,TX/RX交叉接线,VCC接5V,GND接地
查询IP地址:AT+CIFSR

2、建立AT指令使能连接
一、配置网络调试助手

	协议类型:TCP Client本地主机地址:192.168.4.2远程主机地址:192.168.4.1 :333

二、安信可调试助手:

①AT+CWMODE=3;		//配置双模Response :OK
②AT+CIPMUX=1; 		//连接网络调试助手后配置,使能多链接Response :OK
③AT+CIPSERVER=1 ;	//建立tcpserver,// default port = 333Response :OK
④AT+CIPSEND=0,4;	//发送4字节数据在0通道上>abcd			//输入数据,不带回车,去掉发送新行;再次发送时,勾选发送新行,发送AT指令Response :SEND OK
⑤+IPD, 0, n: xxxxxxxxxx 	//接收数据//+IPD是固定字符串  ,0是通道,n是数据长度,xxx是数据
⑥AT+CIPCLOSE=0		//断开连接Response :0, CLOSED OK

C51来配置ESP作服务器

①接线
(ESP8266接C51)
TX/RX交叉接线,VCC接5V,GND接地

#include "reg52.h"
#include "intrins.h"
#include <string.h>#define SIZE 12sfr AUXR = 0x8E;
sbit D5 = P3^7;
sbit D6 = P3^6;char buffer[SIZE];				//数组操作发送字符串//1、 配置路由模式
code char LYMS[] = "AT+CWMODE=2\r\n";
//转义字符,\"保留原本的引号字符意义,否则出错//2、使能多连接
code char DLJ[] = "AT+CIPMUX=1\r\n";//3、建立tcpserver, default port = 333
char JLFW[] = "AT+CIPSERVER=1\r\n";//4、发送数据
char FSSJ[] = "AT+CIPSEND=0,5\r\n";	//发送5字节数据在0通道上char AT_OK_Flag = 0;			//OK返回标志位
char AT_Connect_Net_Flag = 0;	//WIFI GOT IP返回标志位
char Client_Connect_Flag = 0;	//客户端接入的标志//串口初始化
void UartInit(void)		//9600bps@11.0592MHz
{PCON &= 0x7F;		//波特率不倍速SCON = 0x50;		//8位数据,可变波特率AUXR &= 0xBF;		//定时器1时钟为Fosc/12,即12TAUXR &= 0xFE;		//串口1选择定时器1为波特率发生器TMOD &= 0x0F;		//清除定时器1模式位TMOD |= 0x20;		//设定定时器1为8位自动重装方式TL1 = 0xFD;		//设定定时初值TH1 = 0xFD;		//设定定时器重装值ET1 = 0;		//禁止定时器1中断TR1 = 1;		//启动定时器1EA = 1;			//开启总中断ES = 1;			//开启串口中断
}void Delay1000ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}void sendByte(char data_msg)
{//往发送缓冲区中写入数据,就完成了数据的发送SBUF = data_msg;while(!TI);		//超声波中,用while等待,发送成功后T1 == 1TI = 0;		
}void sendString(char* str)
{while(*str != '\0'){sendByte(*str);str++;}
}void main()
{int mark = 0;D5 = D6 = 1;		//D5,D6通电以后为灭的状态//配置c51串口的通信方式 UartInit();			Delay1000ms();					//给espwifi模块上电时间sendString(LYMS);			//配置路由模式while(!AT_OK_Flag);			//返回OK,等待AT_OK_Flag = 0;sendString(DLJ);			//使能多连接while(!AT_OK_Flag);AT_OK_Flag = 0;sendString(JLFW);			//建立tcpserver//while(!AT_OK_Flag);while(!Client_Connect_Flag);	//客户端接入的标志,可以继续向下说明接入成功AT_OK_Flag = 0;if(Client_Connect_Flag){D5 = 0;			//D5点亮,代表有客户端接入D6 = 0;			}while(1){//发送数据sendString(FSSJ);Delay1000ms();sendString("Hello");Delay1000ms();Delay1000ms();}}//中断函数
void UART_Rountine(void) interrupt 4
{static int i = 0;		//静态的局部变量,被初始化一次char tmp;if(RI){			//接收中断RI = 0;		//软件复位tmp = SBUF;		//读数据if(tmp == 'W' || tmp == 'O' || tmp == 'L' || tmp == '0' || tmp == ':'){	//连接失败显示FAILi = 0;}buffer[i] = tmp;i++;if(buffer[0] == 'W' && buffer[5] == 'G'){AT_Connect_Net_Flag  = 1;	//入网成功memset(buffer,'\0',SIZE);}if(buffer[0] == 'O' && buffer[1] == 'K'){AT_OK_Flag = 1;	//memset(buffer,'\0',SIZE);}if(buffer[0] == 'O' && buffer[2] == 'C'){Client_Connect_Flag = 1;	//memset(buffer,'\0',SIZE);}if(buffer[0] == ':' && buffer[1] == 'o' && buffer[2] == 'p'){			D5 = 0;		//D5点亮memset(buffer,'\0',SIZE);		}if(buffer[0] == ':' && buffer[1] == 'c' && buffer[2] == 'l'){D5 = 1;		//D5熄灭memset(buffer,'\0',SIZE);}if(i == 12)i = 0;}if(TI);			//发送中断
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/174504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux——使用命令查看文件和文件夹数量

目录 一、相关命令参数解析二、查看当前目录下的文件数量2.1 包含子目录中的文件2.2 不包含子目录中的目录 三、查看当前目录下的文件夹个数3.1 不包含目录中的目录3.2 包含目录中的目录 四、查看当前文件夹下叫某某的文件的数量实例 五、总结 一、相关命令参数解析 "&qu…

java方法引用

MethodReference 前言特定类任意方法引用函数接口特定类调用 前言 JDK1.8之后提供是Lambda&#xff0c;它可以让开发者自定义函数接口中抽象方法的实现&#xff0c;方法引用可以让开发者直接引用已存在的方法。 方法引用的形式: 类::静态方法 类::特定类任意方法 对象::实例方…

MyBatis 操作数据库(入门)

一&#xff1a;MyBatis概念 (1)MyBatis &#x1f497;MyBatis是一款优秀的持久层框架&#xff0c;用于简化JDBC的开发 (2)持久层 1.持久层 &#x1f49c;持久层&#xff1a;持久化操作的层&#xff0c;通常指数据访问层(dao)&#xff0c;是用来操作数据库的 2.持久层的规范 ①…

leetcode_828 统计子串中的唯一字符

1. 题意 统计一个字符串的所有子串中唯一字符的数量。 例如: "ABA"的字串对应的唯一字符数量 “A”&#xff1a; 1 “AB”&#xff1a;2 “ABA”&#xff1a;1 “B”&#xff1a;1 “BA”&#xff1a;2 “A”&#xff1a;1 求和为8 统计子串中的唯一字符 2. 题解 …

Doris的数据模型

Doris 的数据模型主要分为3类:Aggregate、Uniq、Duplicate 1 Aggregate 模型 表中的列按照是否设置了AggregationType,分为 Key(维度列)和 Value(指标列)。没有设置AggregationType的称为 Key,设置了AggregationType的称为Value。 当我们导入数据时,对于Key列相同的行会…

竞赛选题 题目:基于卷积神经网络的手写字符识别 - 深度学习

文章目录 0 前言1 简介2 LeNet-5 模型的介绍2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 在线手写识别7 最后 0 前言…

前缀和——1314. 矩阵区域和

文章目录 &#x1f3a4;1. 题目&#x1f3a4;2. 算法原理&#x1f3a4;3. 代码实现 &#x1f3a4;1. 题目 题目链接&#xff1a;1314. 矩阵区域和 - 力扣&#xff08;LeetCode&#xff09; 给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#…

[极客大挑战2023] Crypto/PWN/Reverse

这个网站真辛苦&#xff0c;每次都要回到all&#xff0c;屏幕随时卡。界面有待进步老远。也不提示结束&#xff0c;结果现在才听说结束了&#xff0c;才开始记录一下。 还跟往常一样&#xff0c;WM不作&#xff0c;其它也AK不了&#xff0c;总是差点。 Crypto SignIn 53594…

C语言错误处理之<errno.h>与<error.h>

目录 前言 错误号处理方式 errno.h头文件 常见的宏 error.h头文件 参数解释&#xff1a; 关于的”__attribute__“解释&#xff1a; 关于“属性”的解释&#xff1a; 实例一&#xff1a; 实例二&#xff1a; error.h与errno.h的区别 补充内容&#xff1a; 前言 …

6款AI工具网站,赶紧收藏,以备不时之需

1、海鲸AI-支持AI对话、AI文档解析、AI绘画 https://www.atalk-ai.com 海鲸AI是一个AI应用网站&#xff0c;同时支持PC和移动端&#xff0c;它在一个页面上提供了多种模型&#xff08;GPT3&#xff0c;GPT4&#xff0c;文心一言&#xff0c;通义千问&#xff0c;智谱AI&#…

【Vue】记事本

上一篇&#xff1a;Vue的指令 https://blog.csdn.net/m0_67930426/article/details/134599378?spm1001.2014.3001.5501 本篇所需指令&#xff1a; v- for v-model v-on v-show 目录 删除功能 添加功能 统计功能 清空功能 v-show 删除功能 <!DOCTYPE html> …

一、Lua基础

文章目录 一、Lua是什么二、Lua特性&#xff08;一&#xff09;轻量级&#xff08;二&#xff09;可扩展&#xff08;三&#xff09;其它特性 三、Lua安装四、Lua应用 看到评论说&#xff0c;C让我见识了语言的严谨与缜密&#xff0c;lua让我见识到了语言的精巧与创新&#xff…

Linux:通过VMWare,定制化Linux系统

一、原理图 二、新增磁盘&#xff08;对应上图sdb盘&#xff09; 三、挂载磁盘 主要是四步&#xff1a;查看磁盘&#xff0c;分区磁盘&#xff0c;格式化磁盘&#xff0c;挂载磁盘 1、查看磁盘 2、分区磁盘 3、格式化磁盘 4、挂载磁盘 创建两个备用目录&#xff0c;用于磁盘…

【Kotlin】引入与基础语法

文章目录 Kotlin的特性Kotlin优势Kotlin的安卓项目变量变量保存了指向对象的引用优先使用val来避免副作用 后端变量Backing Fields延迟初始化 Kotlin的特性 它更加易表现&#xff1a;这是它最重要的优点之一。你可以编写少得多的代码。Kotlin是一种兼容Java的语言Kotlin比Java…

1、windows10系统下Qt5.12.0与卸载

一、安装包下载 1、Qt社区下载 https://download.qt.io/archive/qt/5.12/5.12.10/qt-opensource-windows-x86-5.12.10.exe 2、百度网盘下载 链接&#xff1a;百度网盘 请输入提取码 3、Qt官网下载&#xff1a; Try Qt | 开发应用程序和嵌入式系统 | Qt 二、安装提示 下…

nodejs+vue+elementui网上家电家用电器数码商城购物网站 多商家

基于vue.js的恒捷网上家电商城系统根据实际情况分为前后台两部分&#xff0c;前台部分主要是让用户购物使用的&#xff0c;包括用户的注册登录&#xff0c;查看公告&#xff0c;查看和搜索商品信息&#xff0c;根据分类定位不同类型的商品&#xff0c;将喜欢的商品加入购物车&a…

【html+css】表单元素

目录 表单元素 展示图 简约写法&#xff1a; 完美写法 表单元素 输入框 单选框 复选框 下拉框 按钮 展示图 简约写法&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><t…

华大基因在合规管理、高质量发展方面将迈上新的台阶

今年6月&#xff0c;华大基因顺利通过了国际领先标准、测试及认证机构BSI的严格审核&#xff0c;获得GB/T 35770-2022 / ISO 37301:2021合规管理体系认证证书&#xff0c;成为行业内率先获此国际认证的企业。 ISO 37301合规管理体系认证是国际通用的合规管理体系认证标准&…

Mysql之局域网内不同ip互登陆mysql

1 navicat修改mysql表中user> host改为% 2 重新加载mysql服务 3登陆mysql -h 192.168.x.xxx&#xff08;计算机ip&#xff09; -P 3306 -uroot -p123456&#xff08;密码&#xff09;

LaTeX参考文献bib格式常用参数详解

文章目录 引言1.期刊论文格式2.会议论文格式3.网址格式4.报告格式5.书籍 引言 当谈及LaTeX参考文献格式与参数时&#xff0c;深入了解bib文件的内容是至关重要的。bib文件是指定文献引用和格式的关键&#xff0c;其中的参数设置影响着文献列表的呈现方式。通过详细解析LaTeX中…