ESP32 串口通信代码 (VS Code 开发环境)
#include <Arduino.h> // 定义使用的串口
#define SERIAL1_RX_PIN 9 // 根据您的ESP32开发板调整
#define SERIAL1_TX_PIN 10 // 根据您的ESP32开发板调整 // 全局变量
HardwareSerial Serial1(1); // 使用串口1
String inputString = ""; // 存储接收到的数据
bool stringComplete = false; // 是否接收到完整字符串 void setup() {
// 初始化串口0(用于调试)
Serial.begin(115200); // 初始化串口1(用于外部通信)
Serial1.begin(115200, SERIAL_8N1, SERIAL1_RX_PIN, SERIAL1_TX_PIN); // 等待串口初始化完成
delay(1000); Serial.println("ESP32 Serial Communication Example");
Serial.println("Type a message and press Enter to send via Serial1");
Serial.println("Messages received on Serial1 will be displayed here");
} void loop() {
// 检查串口0(调试端口)是否有数据输入
if (Serial.available()) {
char inChar = (char)Serial.read(); // 如果收到换行符,则认为输入完成
if (inChar == '\n') {
// 通过串口1发送数据
Serial1.println(inputString);
Serial.print("Sent: ");
Serial.println(inputString); // 清空输入字符串
inputString = "";
stringComplete = false;
} else {
// 将字符添加到输入字符串
inputString += inChar;
}
} // 检查串口1是否有数据返回
if (Serial1.available()) {
String response = Serial1.readStringUntil('\n');
Serial.print("Received: ");
Serial.println(response);
} // 短暂延迟以减少CPU使用率
delay(10);
}
PlatformIO配置文件 (platformio.ini)
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
使用说明
硬件连接:
根据您的ESP32开发板调整RX和TX引脚
常见的ESP32开发板可以使用默认的GPIO9(RX)和GPIO10(TX)
如果需要与其他设备通信,请正确连接TX到RX,RX到TX
功能说明:
代码初始化了两个串口:Serial(用于调试)和Serial1(用于外部通信)
在Serial输入消息并按回车,消息将通过Serial1发送
从Serial1接收到的任何数据都会显示在Serial监视器上
在VS Code中运行:
安装PlatformIO插件
创建新项目,选择ESP32开发板
将代码复制到src/main.cpp
连接ESP32开发板
点击PlatformIO的Upload and Monitor按钮
注意事项
请根据您的实际硬件调整RX/TX引脚定义
确保通信双方的波特率设置一致(本例中使用115200)
如果需要更复杂的协议,可以扩展此代码实现数据帧解析等功能
这个示例提供了基本的双向串口通信功能,您可以根据实际需求进行扩展和修改
ESP32 串口通信代码 (VS Code 开发环境)的更多相关文章
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
- 搭建Spark源码研读和代码调试的开发环境
转载自https://github.com/linbojin/spark-notes/blob/master/ide-setup.md 搭建Spark源码研读和代码调试的开发环境 工欲善其事,必先利其 ...
- ESP32与MicroPython入门-01 搭建开发环境
ESP32简介 ESP32 是上海乐鑫公司开发的一款比较新的32位微控制器,它集成了WiFi及蓝牙等功能,有着性能稳定.功耗低.价格低廉等特点,非常适用于物联网开发,但也可以作为普通的MCU使用. E ...
- java 串口通信 代码
下面是我自己实现的串口接收的类,串口发送比较简单,就直接发送就可以了.下面的这个类可以直接使用. package com.boomdts.weather_monitor.util; import ja ...
- Socket通信(1):搭建开发环境
一. 准备工具 1. mac环境下的VMware Fusion, 下载地址:https://www.newasp.net/soft/462096.html 2. ubuntu 14.04 LTS, 不 ...
- 使用Visual Studio Code搭建TypeScript开发环境
使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...
- Qt串口通信专题教程
查看以前的教程:Qt编写串口通信程序全程图文讲解 查看Wincom和Lincom介绍:Qt跨平台串口通信软件Wincom与Lincom 下载软件,文档和源码:资源下载 ——————————————20 ...
- Windows下的Objective-C集成开发环境(IDE)(转)
Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1) 使用苹果的平台,集成开发环境使用X ...
- 【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)
Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1) 使用苹果的平台,集成开发环境使用X ...
- Windows下的Objective-C集成开发环境(IDE)
Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...
随机推荐
- A2A Java 示例
克隆代码 git clone https://github.com/google-a2a/a2a-samples cd a2a-samples/samples/java 本项目是 Agent-to-A ...
- 关于MUI框架混合AS开发app项目中遇到的百度地图闪退,不显示地图问题的一次记录
才进入公司就让我解决MUI混合app出现的BUG,让只会纯纯原生的我有点崩溃,三天就要结果,不过幸不辱命,今天我把这个问题解决了. 这个BUG是:百度地图崩溃导致应用闪退 上图是H5+androidS ...
- Golang基础笔记四之map
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记四之map 这一篇笔记介绍 Golang 里 map 相关的内容,以下是本篇笔记目录: map 的概念及其声明与初始化 map 的增删 ...
- UFT 执行cmd command & kill task
1. execute cmd command 2. kill task
- 故障处理:ORA-04031真实案例分享
我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效 ...
- C# 列表项下拉窗口宽度自适应
/// <summary> /// 列表项下拉窗口宽度自适应 /// </summary> /// <param name="comboBox"> ...
- Codeforces Round #697 (Div. 3) ABCDE 题解
久违的cf服务器爆炸场 A. Odd Divisor 思路:任何一个数都可以写成\(n = k2^m,其中k是一个奇数\),若k=1,那么n就一定是一个2的幂. view code #include& ...
- 模拟退火 python 实现
简介 一直以为是一个高深的算法,好像据说在量子计算机中可以应用.发现原理并不难 参考链接 https://blog.csdn.net/google19890102/article/details/45 ...
- 程序员Git工作必备命令
1.基础配置 #设置用户名 git config --global user.name"你的名字" #设置邮箱 git config --global user.email &qu ...
- “造芯”之 Proprietary闭源 与 Open Source开源(RISC-V) 对比
一.造芯的RISC-V(Open Source) 与 Proprietary 历史鉴证: 共和的Top-Down 与 Bottom-Up的民主 是统一的. Open Source开源 与 Propri ...