Arduino 中的软件串行


开发 SoftwareSerial 库的目的是确保 Arduino 的任何引脚都可以使用软件与其他外围设备交换串行数据,比如 GNSS 接收器。例如,Arduino Uno 只有一个硬件串行端口(0 号和 1 号引脚),它通过 USB 到 UART 的转换芯片连接到 USB。因此,如果你有其他需要串行通信的外围设备,如果没有 SoftwareSerial,你将不得不放弃 USB 串行通信。

SoftwareSerial 有些限制 -

  • 如果你正在使用多个 SoftwareSerial 端口,同一时间只能有一个接收数据

  • 速度最高可达 115200 bps

此库的其他限制,具体取决于某些 Arduino 板,可以 在此 找到。

SoftwareSerial 库包含在 1.0 及以上版本的 Arduino IDE 中,你不需要单独安装。定义软件串行非常简单。以下展示了一个示例 -

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX

如你所见,你需要使用两个参数创建 SoftwareSerial 对象 - RX 引脚和 TX 引脚。其他功能与 Serial 类似。例如:

Serial.begin(9600) 转化为 mySerial.begin(9600)

Serial.println("Hello World") 对应 mySerial.println("Hello World"),以此类推。

建议你详细了解 SoftwareSerial 库附带的示例。可以在 文件 → 示例 → SoftwareSerial 中找到它们。

更新日期:2021 年 7 月 30 日

7K+ 次浏览

开启您的职业生涯

完成课程后获得认证

开始
广告