当前位置: 首页 > news >正文

BearPi Std 板从入门到放弃 - 后天篇(3)(ESP8266透传点灯)

简介

电脑搭建一个TCP Server, ESP8266 串口设置好透传模式, 再由TCP Server发送指令控制灯的亮灭;
开灯指令: led_on+回车 ; 关灯指令: led_off+回车
主芯片: STM32L431RCT6
LED : PC13 \ 推挽输出即可 \ 高电平点亮
串口: Usart1 / LPUART
ESP8266 : 型号ESP-12F

步骤

设置ESP8266 透传

参考 [ESP8266 TCP/串口透传](https://blog.csdn.net/halo_hsuh/article/details/135134634?spm=1001.2014.3001.5501)

STM32项目创建

参考 BearPi Std 板从入门到放弃 - 引气入体篇(1)(由零创建工程到点亮LED)

初始化与ESP8266的串口LPUART1

在这里插入图片描述
开启中断
在这里插入图片描述

添加用户代码

/*on :0 : OFF1 : ON
*/
void User_LED_Set(int on)
{HAL_GPIO_WritePin(USER_LED_GPIO_Port, USER_LED_Pin, on ? GPIO_PIN_SET : GPIO_PIN_RESET);
}void Command_Handle(const uint8_t *buf, int length)
{printf ("COMMAND HANDLE\r\n");if ( '\r' == buf[length-1] ){length -= 1;}if (0 == strncmp("led_on", (const char *)buf, length)){HAL_GPIO_WritePin(USER_LED_GPIO_Port, USER_LED_Pin, GPIO_PIN_SET);printf ("led_on!\r\n");}else if (0 == strncmp("led_off", (const char *)buf, length)){HAL_GPIO_WritePin(USER_LED_GPIO_Port, USER_LED_Pin, GPIO_PIN_RESET);printf ("led_off!\r\n");}
}void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{if ( huart->Instance == LPUART1 ){if ( '\n' ==  Cmd_Buffer[Cmd_Index] ){Command_Handle(Cmd_Buffer, Cmd_Index);Cmd_Index = 0;}else{++Cmd_Index;}HAL_UART_Receive_IT(&hlpuart1, &Cmd_Buffer[Cmd_Index], 1);	}
}int fputc(int ch, FILE *f)
{uint8_t temp[1] = {ch};{HAL_UART_Transmit(&huart1, temp, 1, 2);}return HAL_OK;
}int main(void)
{
...
HAL_UART_Receive_IT(&hlpuart1, &Cmd_Buffer[Cmd_Index], 1); // 开启接收
while(1)
{HAL_Delay(1000); // 
}
...
}

代码

完整代码

相关文章:

BearPi Std 板从入门到放弃 - 后天篇(3)(ESP8266透传点灯)

简介 电脑搭建一个TCP Server, ESP8266 串口设置好透传模式, 再由TCP Server发送指令控制灯的亮灭; 开灯指令: led_on回车 ; 关灯指令: led_off回车 主芯片: STM32L431RCT6 LED : PC13 \ 推挽输出即可 \ 高电平点亮 串口: Usart1 / LPUART E…...

【Linux】macOS下使用scp命令编写脚本上传文件至服务器

使用时需要输入服务器密码 #!/bin/bash# 检查传递给脚本的参数数量 if [ "$#" -ne 2 ]; thenecho "Usage: $0 <本地文件路径> <服务器文件夹路径>"exit 1 fi# 接收命令行参数 local_file"$1" remote_path"$2"# 定义远程服…...

难以置信:WINDOWS11真的取消了助记符

助记符是个好东西&#xff0c;记住了非常的方便。这几天升级到WINDOWS11之后&#xff0c;发现助记符被全面取消&#xff01;真是难以置信&#xff01; 现在WIN11越来越象MAC&#xff0c;MAC好用吗&#xff1f;当然不好用。 其实WIN11完全可以开发两套界面&#xff0c;各取所需。…...

使用VSC从零开始Vue.js——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务3:数据可视化

使用Visual Studio Code&#xff08;VSC&#xff09;进行Vue开发非常方便&#xff0c;下面是一些基本步骤&#xff1a; 一、下载和安装Vue 官网下载地址Download | Node.js Vue.js是基于Node.js的&#xff0c;所以首先需要安装Node.js&#xff0c;官网下载地址&#xff1a;No…...

企业直聘招聘人才求职系统招聘会小程序系统源码

技术栈&#xff1a; 端 原生小程序开发 后端php7.2 数据库mysql5.6 主要功能&#xff1a; 企业入住 ,企业直聘 个人实名认证&#xff0c;人才求职 发布线上招聘会 企业招聘邀请 个人简历置顶 刷新 浏览足迹浏览 附近 招聘信息查看...

大型语言模型:SBERT — Sentence-BERT

slavahead 一、介绍 Transformer 在 NLP 方面取得了进化进步&#xff0c;这已经不是什么秘密了。基于转换器&#xff0c;许多其他机器学习模型已经发展起来。其中之一是BERT&#xff0c;它主要由几个堆叠的变压器编码器组成。除了用于情感分析或问答等一系列不同的问题外&#…...

高效编写软件测试报告的关键技巧

引言&#xff1a; 软件测试报告是测试团队与开发团队之间沟通的重要工具&#xff0c;它记录了测试过程中的发现、问题和建议。一个清晰、准确、高效的软件测试报告可以帮助开发团队更好地理解测试结果&#xff0c;并及时修复问题。本文将介绍一些高效编写软件测试报告的关键技巧…...

编写CI/CD自动化部署脚本

编写CI/CD自动化部署脚本 什么是CI/CD CI/CD 是现代软件开发过程中的关键实践&#xff0c;它包含两个缩写&#xff1a; CI&#xff0c;或者持续集成&#xff08;Continuous Integration&#xff09;CD&#xff0c;可以指持续交付&#xff08;Continuous Delivery&#xff09…...

Pandas实践_分类数据

文章目录 一、cat对象1.cat对象的属性2.类别的增加、删除和修改 二、有序分类1.序的建立2.排序和比较 三、区间类别1.利用cut和qcut进行区间构造2.一般区间的构造3.区间的属性与方法 一、cat对象 1.cat对象的属性 在pandas中提供了category类型&#xff0c;使用户能够处理分类…...

git的使用思维导图

源文件在github主页&#xff1a;study_collection/cpp学习/git at main stu-yzZ/study_collection (github.com)...

Qt 软件界面点击QCombBox控件,造成整个界面移位

Qt 软件界面点击QCombBox控件&#xff0c;造成整个界面移位 最近项目中&#xff0c;遇到了一个问题&#xff0c;在绘制界面的时候&#xff0c;使用了QCombBox控件&#xff0c;在点击QCombBox控件下拉中的item时&#xff0c;会造成整个界面移位的现象。 我重写了下面三个事件函…...

AI Native工程化:百度App AI互动技术实践

作者 | GodStart 导读 随着AI浪潮的兴起&#xff0c;越来越多的应用都在利用大模型重构业务形态&#xff0c;在设计和优化Prompt的过程中&#xff0c;我们发现整个Prompt测评和优化周期非常长&#xff0c;因此&#xff0c;我们提出了一种Prompt生成、评估与迭代的一体化解决方案…...

DDPM推导笔记

各位佬看文章之前&#xff0c;可以先去看看这个视频&#xff0c;并给这位up主点赞投币&#xff0c;这位佬讲解的太好了&#xff1a;大白话AI 1.前置知识的学习 1.1 正态分布特性 ​ &#xff08;1&#xff09;正态分布的概率密度函数 f ( x ) 1 2 π σ e − ( x − μ ) …...

【C#/Java】【小白必看】不要只会读写文本文件了!对象序列化助你提高效率

【C#/Java】【小白必看】不要只会读写文本文件了&#xff01;对象序列化助你提高效率 ​ 在编程的世界里&#xff0c;文件的读写操作是我们经常面对的任务之一。 ​ 当我们只涉及简单的文本文件时&#xff0c;这个任务似乎并不复杂。但是&#xff0c;当我们处理更为复杂的类对…...

排障启示录-无线终端信号弱

现象&#xff1a;无线终端显示信号弱 信息收集&#xff1a; AP的实际发射功率低。外置天线型AP&#xff0c;天线松动或者没插天线现场环境问题&#xff0c;信号穿透衰减终端接入远端AP终端个体问题 排查步骤&#xff1a; 1、AP的发射功率低 查看AP的射频功率&#xff0c;判…...

gem5 RubyPort: mem_request_port作用与连接 simple-MI_example.py

简介 回答这个问题&#xff1a;RubyPort的口下&#xff0c;一共定义了六个口&#xff0c;分别是mem_request_port&#xff0c;mem_response_port&#xff0c;pio_request_port&#xff0c;pio_response_port&#xff0c;in_ports, interrupt_out_ports&#xff0c;他们分别有什…...

无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测

无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测 无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测介绍题目一. 背景&#xff08;解决的问题&#xff09;二. 系统模型信道模型信道系数进行标准化 信道估计 和 数据传输信道估计上行数据传输 三. 具体的流程…...

文献速递:生成对抗网络医学影像中的应用—— CG-3DSRGAN:用于从低剂量PET图像恢复图像质量的分类指导的3D生成对抗网络

文献速递&#xff1a;生成对抗网络医学影像中的应用—— CG-3DSRGAN&#xff1a;用于从低剂量PET图像恢复图像质量的分类指导的3D生成对抗网络 本周给大家分享文献的主题是生成对抗网络&#xff08;Generative adversarial networks, GANs&#xff09;在医学影像中的应用。文献…...

前端验收测试驱动开发

我们听说过很多关于测试驱动开发&#xff08;TDD&#xff09;的内容。那么什么是ATDD&#xff1f; ATDD代表验收测试驱动开发&#xff0c;这是一种定义验收标准并创建自动化测试来验证是否满足这些标准的软件开发方法。ATDD是一种协作方法&#xff0c;涉及客户、开发人员和测试…...

图像卷积操作

目录 一、互相关运算 二、卷积层 三、图像中目标的边缘检测 四、学习卷积核 五、特征映射和感受野 一、互相关运算 严格来说&#xff0c;卷积层是个错误的叫法&#xff0c;因为它所表达的运算其实是互相关运算&#xff08;cross-correlation&#xff09;&#xff0c;而不是…...

3.3 直连进阶:群晖与PC万兆/2.5G直连配置全解(兼顾内网高速与外网访问)

1. 为什么需要群晖与PC直连&#xff1f; 家里有NAS的朋友应该都遇到过这样的场景&#xff1a;想从PC往群晖里传几个大文件&#xff0c;结果发现速度只有100MB/s左右&#xff0c;一个10GB的电影要传将近两分钟。这其实就是千兆网络的瓶颈在作祟。传统的千兆网络理论速度是125MB…...

Seraphine:英雄联盟智能BP与战绩分析工具终极指南

Seraphine&#xff1a;英雄联盟智能BP与战绩分析工具终极指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 还在为英雄联盟排位赛的BP阶段感到焦虑吗&#xff1f;面对30秒的英雄选择倒计时&#xff0c;你是…...

高通Android音频HAL揭秘:从AudioFlinger到libaudiohal.so的加载与设备打开流程

高通Android音频HAL深度解析&#xff1a;从框架设计到硬件交互的全链路实现 在Android系统的多媒体生态中&#xff0c;音频子系统扮演着至关重要的角色。作为连接应用层与物理硬件的桥梁&#xff0c;音频硬件抽象层&#xff08;HAL&#xff09;的设计直接决定了设备的音频性能…...

EPLAN浮动许可利用率低:软件许可浪费,解决许可不足

EPLAN浮动许可利用率低&#xff1f;别再浪费了&#xff01;你是不是也遇到过这种事&#xff1a;新项目启动前看许可证池还有几个名额&#xff0c;结果发现上个月的几个许可证一直在等&#xff1f;我就踩了这个坑&#xff0c;发现公司用EPLAN的几个项目组天天在"抢"许…...

终极NS模拟器管理工具:三分钟搞定Switch模拟器安装配置

终极NS模拟器管理工具&#xff1a;三分钟搞定Switch模拟器安装配置 【免费下载链接】ns-emu-tools 一个用于安装/更新 NS 模拟器的工具 项目地址: https://gitcode.com/gh_mirrors/ns/ns-emu-tools 还在为复杂的Switch模拟器安装配置而头疼吗&#xff1f;NsEmuTools是你…...

Python 爬虫进阶技巧:定时爬虫任务实现无人值守采集

前言 常规爬虫多依赖手动触发脚本运行,单次采集完成后需人工二次启动,无法满足日常周期性数据监控、行情抓取、资讯同步、业务台账定时归档等常态化采集需求。搭建可自主调度、自动启停、周期循环的定时爬虫任务,脱离人工干预实现无人值守全自动采集,是爬虫从临时脚本走向…...

阿里季报图解:营收2434亿 AI迎商业化拐点,模型及应用ARR年底破300亿,派息25亿美元

雷递网 雷建平 5月13日阿里巴巴&#xff08;美股代码&#xff1a;“baba”&#xff0c;港股代号&#xff1a;9988&#xff09;今日发布2026年第一季度的财报。财报显示&#xff0c;阿里2026年第一季度营收为2433.8亿元&#xff08;352.83亿美元&#xff09;&#xff0c;同比增长…...

Ai小程序入门00-初识AI编程(小白入门:不懂代码也能做小程序?AI编程到底怎么玩)

Ai小程序入门00-初识AI编程(小白入门:不懂代码也能做小程序?AI编程到底怎么玩) 📌 文章简介:很多人都有一个"做个小程序赚钱"或"实现自己创意"的梦想,但往往被复杂的代码、繁琐的环境配置劝退。如今,AI 编程工具(如 Cursor、Claude 等)彻底改变…...

模块化AI智能体框架:从原理到实践,打造高效开发副驾驶

1. 项目概述&#xff1a;一个为开发者设计的模块化AI智能体框架如果你和我一样&#xff0c;每天都在和代码打交道&#xff0c;同时也在探索如何让AI真正成为你的“副驾驶”&#xff0c;而不是一个只会闲聊的玩具&#xff0c;那你肯定对如何高效地使用Cursor、Claude或者GPT来辅…...

数据库安全与合规:保护你的数据资产

数据库安全与合规&#xff1a;保护你的数据资产 引言 数据库是企业的核心数据资产&#xff0c;数据库安全不仅关系到业务的正常运行&#xff0c;更关系到用户隐私和企业声誉。本文将从访问控制、数据加密、审计日志、备份恢复等多个维度&#xff0c;全面探讨数据库安全与合规的…...