reference:library:softwareserial
SoftwareSerial Library
串行总线通过一个称为UART的硬件(芯片内置)进行。这个硬件允许单片机接收串行通信,即使芯片在进行其他工作,只要有64个字节的串行缓冲器的储存空间即可。
使用软件的复制功能(因此称为“SoftwareSerial”),现有的SoftwareSerial 库,以允许其他的控制器的数字引脚的串行通信,这可能有多个软件串口速度高达115200bps。一个参数使反转信号要求该协议的设备。
限制
库具有以下已知的限制:
- 如果使用多个串口软件,一次只有一个软件可以接收数据。
- 在Mega 2560 上,不是所有的引脚都支持中断,允许用于RX的引脚包括:10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
- 实际环境软串口速度太快可能工作会不稳定,推荐不要超过4800波特率
例子
/* Software serial multiple serial test 从硬件串口接收,发送到软件的序列。 软件串行接收,发送到硬件序列。 * RX是数字引脚2(连接到其他设备的TX) * TX是数字引脚3(连接到其他设备的RX) */ #include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); // RX, TX void setup() { //打开串行通信,等待端口打开: Serial.begin(57600); while (!Serial) { ; // 等待串口连接 } Serial.println("Goodnight moon!"); // 设置串口通讯的速率 mySerial.begin(4800); mySerial.println("Hello, world?"); } void loop() // 循环 { if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) mySerial.write(Serial.read()); }
函数
reference/library/softwareserial.txt · 最后更改: 2023/06/07 04:24 由 127.0.0.1