SoftwareSerial.h
时间: 2023-07-19 18:37:46 浏览: 103
SoftwareSerial.h 是一个 Arduino 库文件,用于实现软件串口通信。它允许在 Arduino 上的任何两个数字引脚之间模拟串口通信,而这些引脚不必与硬件串口相对应。使用 SoftwareSerial.h 库可以实现串口通信,例如从 Arduino 连接到另一个设备,如传感器、显示器、蓝牙模块等。
相关问题
arduino SoftwareSerial.h详解
SoftwareSerial.h 是一个用于 Arduino 可编程板的库,它为用户提供了一种方式来创建虚拟的串口,允许他们通过 Arduino 来和其他设备进行通信。它是一个可用于多个 Arduino 系列的库,包括 Uno、Mega、Leonardo 等。
该库用于模拟一个硬件串口,因为每个 Arduino 板只具有一个硬件串口,当需要与另一个串口进行通信时,该库可以模拟另一个串口。这将允许用户进行双向通信,从而允许连接到计算机或其他设备。
该库包含以下功能:
1. begin():该函数用于初始化虚拟串口。用户可以指定端口的传输速率,数据位,奇偶校验位和停止位等设置。
2. available():该函数返回读取缓冲区中的字节数。
3. read():该函数从读缓冲区中删除一个字节并返回该字节。
4. write():该函数将一个字节发送到串口。
5. print():该函数将指定的字符串或数字写入串口。
6. flush():该函数等待所有输出字节被传输并且所有输入字节已经到达。
要使用该库,需要包含软件串口库。
例如,假设需要与计算机进行通信,它使用的 COM 端口是 9600 位/秒,字符串的传输速率为 8,无奇偶校验位和一个停止位,则可以通过以下代码将软件串口初始化:
```c++
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.println("Goodnight moon!");
// set the data rate for the SoftwareSerial port
mySerial.begin(4800);
mySerial.println("Hello, world?");
}
void loop() { // run over and over
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}
```
在这个例子中,为软件串口初始化产生了一个新对象 `mySerial`。它使用数字引脚 10 作为RX 和 11 作为 TX,并使用 `mySerial.begin(4800)` 命令将端口的传输速度设置为 4800 位/秒。
`loop()` 函数内的代码将接收到的数据从软件串口传输到硬件串口,并将从硬件串口接收到的数据传输到软件串口中。这样允许对 Arduino 来使用多个串口进行双向通信。
SoftwareSerial.h下载
你可以在 Arduino IDE 中直接下载和安装 SoftwareSerial 库。具体步骤如下:
1. 打开 Arduino IDE,选择菜单栏中的“工具”->“管理库”;
2. 在弹出的“库管理器”中,搜索“SoftwareSerial”;
3. 找到“SoftwareSerial”库并点击它的“安装”按钮;
4. 等待安装完成后,就可以在你的 Arduino 代码中使用 SoftwareSerial 库了。
如果你需要手动下载库文件,可以从以下链接中下载最新版本的 SoftwareSerial 库:https://github.com/PaulStoffregen/SoftwareSerial
下载后,将文件解压并将其放入 Arduino IDE 的“libraries”文件夹中,然后重启 Arduino IDE 即可。