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

Arduino ESP32-C3 串口使用注意事项

1.要使用USB虚拟的串口,需要打开USB CDC选项。

    ESP32-C3通过内置的USB虚拟串口(USB CDC)可直接作为Arduino框架的串口通信使用,无需额外USB转串口芯片。

    如果enable了USB CDC,此时的Serial.println( )对应的就是USB虚拟串口,并且Arduino IDE的串口监视器也能看到该串口的信息(前面有一大堆的系统信息,最后才是你的虚拟串口数据)。如果这个时候你要使用默认的硬件串口(Serial0),可以

Serial0.begin(9600, SERIAL_8N1, -1, -1);   其中-1, -1,代表默认的RX:20,TX:21 

2.USB CDC与硬件UART的区别

    (1)USB CDC(Communication Device Class)是通过USB接口实现的虚拟串口

    (2)硬件UART是传统的串行通信接口,需要物理TX/RX引脚

    (3)ESP32-C3的USB CDC功能不需要外部电路,直接通过USB接口实现

3.虽然硬件串口可以自己指定引脚,但是貌似硬件串口只能是资料里面说的2个,(加上虚拟串口一共3个),硬件串口超过3个实测好像是无效的,如下测试代码,其中MySerial2编译能过,但是实测串口无输出。

#include <HardwareSerial.h>
HardwareSerial MySerial0(0);
HardwareSerial MySerial1(1);
HardwareSerial MySerial2(2); 
void setup()
{Serial.begin(115200);  //USB 虚拟串口,需要开CDCMySerial0.begin(115200, SERIAL_8N1, -1, -1); //默认串口,20,21MySerial1.begin(115200, SERIAL_8N1, 9, 10);//自定义串口MySerial2.begin(115200, SERIAL_8N1, 2, 3);//第三组自定义串口,编译能过,实测貌似无效
} 
void loop(){Serial.print("Serial");MySerial0.print("MySerial0");MySerial1.print("MySerial1");MySerial2.print("MySerial2");delay(1000);
}

http://www.dtcms.com/a/553650.html

相关文章:

  • MCP是什么及如何开发一个MCPServer
  • 程序逆向分析
  • 卷绕设备与叠片设备
  • 个人可以做购物网站吗西安曲江文化园区建设开发有限公司网站
  • 网站当前链接深圳坪地网站建设 自助建站 五合一建站平台
  • GD32F407VE天空星开发板的ADC按键(ADKey)的实现
  • 使用 Nginx 轻松处理跨域请求(CORS)
  • 2025 年世界职业院校技能大赛机电设备安装与运维赛道备赛
  • 网站备案帐号用织梦做模板网站
  • 我的第一份工作:996
  • 贵州网推传媒有限公司企业网站seo优
  • 矿泉水除溴化物的解决方案
  • Bugku-Web题目-cookies
  • C# 类的方法介绍
  • 打破数据孤岛:制造行业档案管理方案如何实现数据互通与协同?
  • 加强 廉政网站建设衍艺网站建设
  • 中企高呈建设网站律师在哪个网站做推广好
  • 昆山非标设计工厂6名SolidWorks设计师共享一台服务器
  • 未来之窗昭和仙君(四十八)开发商品进销存修仙版——东方仙盟筑基期
  • 佛山设计网站浙江省国有建设用地出让网站
  • 跨厂商(华为 H3C)防火墙 GRE 隧道部署
  • 抖音网站单产品网站
  • 品牌网站源码江阴响应式网站建设
  • Java中wait和await的区别
  • DBeaver连接本地MySQL、创建数据库表的基础操作
  • 优秀网站首页设计上海网站建设定制公司
  • 不只是替代,更是升级:MEMS加速度计精准捕捉振动测量?
  • Kotlin协程 -> Flow和FlowCollector接口声明的意义
  • Postman接口测试: Postman环境变量全局变量设置,多接口顺序执行详解
  • 达梦数据库到Greenplum:用ETL工具实现数据仓库迁移