学习STC51单片机23(芯片为STC89C52RCRC)

news2025/6/4 5:41:03

每日一言

        成功的路上从不拥挤,因为坚持的人不多,你要做那个例外。

通过单片机发指令给ESP8266进行通信

通信原理(也是接线原理)

代码如下

        代码解释一下,因为我们的指令是字符数组(c语言没有字符串的概念),那么我们就要用指针偏移的办法将他们遍历出来了,就是跟我们写的helloworld的方法一样,然后要注意的是,要将双引号加上转义字符\这样双引号才会起到仅仅是符合AT指令格式的作用,不然的话会编译出错的

        成功之后会发现我们安信可这边成功以后也就是wife,TCP、数据透传全部都成功了之后,会发现网络调试助手这边也有这样的数据出来了,这个是为什么呢,因为,当我们什么都成功了之后就开启了透传模式,因此我们这些循环的指令,就等于是字符,输出到TCP服务器上,当然我们的ESP8266是没有办法发送数据到TCP服务器上了,因为串口只有RX与ESP8266连接,所以没有用,但是这样我们就可以利用网络来控制LED灯的亮灭了

        提一嘴:要是你打开连接单片机的那个串口,看到奥STCISP的串口助手也会显示和TCP服务器一样的数据在刷的时候,是因为在数据向外面发送的时候,只要是串口都会进行发送,都会接受到信息,那为什么不用STCISP的串口助手呢,是因为安信可是专门调试ESP8266的串口助手,执行命令后会返回相应的结果知道是成功还是失败这样方便我们的学习和调试...

TCP通信控制LED

现在我们最先要的就是实现TCP控制LED灯的功能

void main()

{

// int mark=0;

D5 = 1;

  Uart1_Init();

while(1){

//if(mark==0){

sendString(LJWL);

Delay1000ms();

Delay1000ms();

Delay1000ms();

Delay1000ms();

sendString(LJFWQ);

Delay1000ms();

Delay1000ms();

Delay1000ms();

Delay1000ms();

sendString(TCMS);

Delay1000ms();

Delay1000ms();

Delay1000ms();

Delay1000ms();

sendString(SJCS);

Delay1000ms();

Delay1000ms();

Delay1000ms();

Delay1000ms();

// mark = 1;

// }else{

// Delay1000ms();

// sendString("helloworld\r\n");

//}

}

}

void UART_handler() interrupt 4

{

//static int i = 0;

if(RI == 1){

RI = 0;

cmd[0] = SBUF;

if(cmd[0]=='1'){

D5 = 0;

}

if(cmd[0]=='0'){

D5 = 1;

}

}

if(TI);

}

        直接主要修改的代码都在这边,当我们连接上TCP服务器的时候,通过TCP发送1让LED亮,0让LED暗,但是我真的不想吐槽,连接的成功率真的太低了,而且也不懂什么时候才能连上,干等着,c了.....

        因为此时我们的接线是单片机4根线与ESP82664根线相连接的,因为我们想要tcp发送数据到ESP8266,再通过TXD向单片机发送数据,这样单片机才能收到TCP服务器的数据。。。只是想通过网络来控制灯的亮灭。。。但是真的是TMD太难连接上了。。。。无语了,所以有待优化这个代码

        就是说,代码理论上都是可行的,但是稳定性真的太勾巴低了,经常连不上,可能1分钟才连得上,太傻逼了

明天我要进行优化,兄弟们

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

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

相关文章

一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (一)

整体链路 [应用服务器] --> [Filebeat] --> [Logstash] --> [Elasticsearch] --> [Kibana] 组件职责 Kibana: 可视化和分析日志数据Elasticsearch: 存储和索引日志数据Logstash: 解析、转换和丰富日志数据Filebeat&#xff1a…

网络系统中安全漏洞扫描为何重要?扫描啥?咋扫描?

在网络系统中,安全漏洞扫描占据着极其重要的位置,这一环节有助于我们发现并消除潜在的安全隐患,进而提高网络安全防护的等级。下面,我将对此进行详尽的说明。 基本概念 漏洞扫描技术可以揭示并评估网站存在的安全风险&#xff0…

Socket 编程 TCP

目录 1. TCP socket API 详解 1.1 socket 1.2 bind 1.3 listen 1.4 accept 1.5 read&&write 1.6 connect 1.7 recv 1.8 send 1.9 popen 1.10 fgets 2. EchoServer 3. 多线程远程命令执行 4. 引入线程池版本翻译 5. 验证TCP - windows作为client访问Linu…

基于TMC5160堵转检测技术的夹紧力控制系统设计与实现

点击下面图片带您领略全新的嵌入式学习路线 🔥爆款热榜 90万阅读 1.6万收藏 一、技术背景与系统原理 在工业自动化领域,夹紧力控制是精密装配、机床夹具等场景的核心需求。传统方案多采用压力传感器伺服电机的闭环控制方式,但存在系统复杂…

XCTF-web-fileclude

解析如下 <?php include("flag.php"); // 包含敏感文件&#xff08;通常包含CTF挑战的flag&#xff09; highlight_file(__FILE__); // 高亮显示当前PHP文件源代码&#xff08;方便查看代码逻辑&#xff09;if(isset($_GET["file1"]…

OpenShift AI - 启用过时版本的 Notebook 镜像

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在 OpenShift 4.18 OpenShift AI 2.19 的环境中验证 文章目录 查看可用 Notebook 镜像控制台查看命令行查看 Notebook 镜像、Image Stream 和 Image Registry Repository 对应关系启用老版本的 Notebook 镜…

Redis 缓存穿透、缓存击穿、缓存雪崩详解与解决方案

在分布式系统中&#xff0c;Redis 凭借高性能和高并发处理能力&#xff0c;成为常用的缓存组件。然而&#xff0c;在实际应用中&#xff0c;缓存穿透、缓存击穿、缓存雪崩这三大问题会严重影响系统的性能与稳定性。本文将详细解析这三个问题的成因&#xff0c;并提供对应的解决…

DQN和DDQN(进阶版)

来源&#xff1a; *《第五章 深度强化学习 Q网络》.ppt --周炜星、谢文杰 一、前言 Q表格、Q网络与策略函数 Q表格是有限的离散的&#xff0c;而神经网络可以是无限的。 对于动作有限的智能体来说&#xff0c;使用Q网络获得当下状态的对于每个动作的 状态-动作值 。那么 a…

【组件】翻牌器效果

目录 效果组件代码背景素材 效果 组件代码 <template><divclass"card-flop":style"{height: typeof height number ? ${height}px : height,--box-width: typeof boxWidth number ? ${boxWidth}px : boxWidth,--box-height: typeof boxHeight nu…

CentOS 7 环境中部署 LNMP(Linux + Nginx + MySQL 5.7 + PHP)

在 CentOS 7 环境中部署 LNMP&#xff08;Linux Nginx MySQL 5.7 PHP&#xff09; 环境的详细步骤如下。此方案确保各组件版本兼容&#xff0c;并提供完整的配置验证流程。 1. 更新系统 sudo yum update -y 2. 安装 MySQL 5.7 2.1 添加 MySQL 官方 YUM 仓库 由于MySQL并不…

NX811NX816美光颗粒固态NX840NX845

NX811NX816美光颗粒固态NX840NX845 美光NX系列固态硬盘颗粒深度解析&#xff1a;技术、性能与市场全景透视 一、技术架构与核心特性解析 1. NX811/NX816&#xff1a;入门级市场的平衡之选 技术定位&#xff1a;基于176层TLC&#xff08;Triple-Level Cell&#xff09;3D NAN…

捋捋wireshark

本猿搬砖时会用到wireshark分析pcap包&#xff0c;但频率不高&#xff0c;记过一些笔记&#xff0c;今天捋捋&#xff0c;希望能给初学者节省一点时间。 wireshark是个网络封包分析软件&#xff08;network packet analyzer&#xff09;&#xff0c;可以用来抓流量包&#xff…

c++学习之---模版

目录 一、函数模板&#xff1a; 1、基本定义格式&#xff1a; 2、模版函数的优先匹配原则&#xff1a; 二、类模板&#xff1a; 1、基本定义格式&#xff1a; 2、类模版的优先匹配原则&#xff08;有坑哦&#xff09;&#xff1a; 3、缺省值的设置&#xff1a; 4、ty…

第十六章 EMQX黑名单与连接抖动检测

系列文章目录 第一章 总体概述 第二章 在实体机上安装ubuntu 第三章 Windows远程连接ubuntu 第四章 使用Docker安装和运行EMQX 第五章 Docker卸载EMQX 第六章 EMQX客户端MQTTX Desktop的安装与使用 第七章 EMQX客户端MQTTX CLI的安装与使用 第八章 Wireshark工具的安装与使用 …

新编辑器编写指南--给自己的备忘

欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#x…

鸿蒙网络数据传输案例实战

一、案例效果截图 二、案例运用到的知识点 核心知识点 网络连接管理&#xff1a;connection模块HTTP数据请求&#xff1a;http模块RPC数据请求&#xff1a;rcp模块文件管理能力&#xff1a;fileIo模块、fileUri模块 其他知识点 ArkTS 语言基础V2版状态管理&#xff1a;Comp…

【JavaEE】-- 网络原理

文章目录 1. 网络发展史1.1 广域网1.2 局域网 2. 网络通信基础2.1 IP地址2.2 端口号2.3 认识协议2.4 五元组2.5 协议分层2.5.1 分层的作用2.5.2 OSI七层模型&#xff08;教科书&#xff09;2.5.3 TCP/IP五层&#xff08;或四层&#xff09;模型&#xff08;工业中常用&#xff…

1.RV1126-OPENCV 交叉编译

一.下载opencv-3.4.16.zip到自己想装的目录下 二.解压并且打开 opencv 目录 先用 unzip opencv-3.4.16.zip 来解压 opencv 的压缩包&#xff0c;并且进入 opencv 目录(cd opencv-3.4.16) 三. 修改 opencv 的 cmake 脚本的内容 先 cd platforms/linux 然后修改 arm-gnueabi.to…

PySide6 GUI 学习笔记——常用类及控件使用方法(标签控件QLabel)

文章目录 标签控件QLabel及其应用举例标签控件QLabel的常用方法及信号应用举例Python 代码示例1Python 代码示例2 小结 标签控件QLabel及其应用举例 QLabel 是 PySide6.QtWidgets 模块中的一个控件&#xff0c;用于在界面上显示文本或图像。它常用于作为标签、提示信息或图片展…

CSS (mask)实现服装动态换色:创意与技术的完美融合

在网页开发中&#xff0c;我们常常会遇到需要对图片元素进行个性化处理的需求&#xff0c;比如改变图片中特定部分的颜色。今天&#xff0c;我们就来探讨一种通过 CSS 和 JavaScript 结合&#xff0c;实现服装动态换色的有趣方法。 一、代码整体结构分析 上述代码构建了一个完…