arduino - ESP32 - 软件序列库

我有一个 ESP32,我需要使用更多串口,但我无法将软件串行库用于 ESP32,因为 Arduino IDE 无法识别该库。

我该如何使用它?

   #include <Arduino.h>
   #include <SoftwareSerial.h>

   SoftwareSerial SoftSerial(4, 5);

   void setup() 
   {
     Serial.begin(9600);
     SoftSerial.begin(115200); 
   }

   void loop() 
   {
     while (Serial.available())
     {
       SoftSerial.write("on");
     }
   }

谢谢

最佳答案

ESP32 有 3 个不同的串行端口 (UART)。您可以只使用其中之一:

Serial0:GPIO3 上的 RX0,GPIO1 上的 TX0
Serial1:GPIO9 上的 RX1,GPIO10 上的 TX1(+CTS1 和 RTS1)
Serial2:GPIO16 上的 RX2,GPIO17 上的 TX2(+CTS2 和 RTS2)

您不需要软件串行端口,因为 ESP32 可以在内部取消配置串行端口引脚到其他引脚。

为此,您需要使用 <HardwareSerial.h> - 图书馆

这个库已经和你的开发板一起安装了:
https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/HardwareSerial.cpp

编辑:正如 Juraj 所说,如果您需要 3 个以上的串行端口,您可以将此库用于 ESP:
https://github.com/plerup/espsoftwareserial

https://stackoverflow.com/questions/60094545/

相关文章:

sql - Oracle 12c - 插入到选择查询中的列不明确,ORA-00918

scala - 玩json库和sbt assembly合并报错

powershell - Terraform azurerm_virtual_machine_ext

bash - 如何在 bash 中循环遍历 jq 唯一数组?

mongodb - 使用 mongodb 中的条件将字段添加到集合

python - 如何在 XGBoost 库的 plot_tree 函数中包含特征名称?

r - 确定一周中的某一天是否是 R 中每月的第 2/3 等星期一/星期二/等

css - 如何为 Material UI 按钮 'startIcon' 分配自定义图标?

node.js - Firebase 函数错误 : The default Firebase app

google-cloud-platform - 共享 VPC 和 VPC 对等组合