我无法使用带有 arduino 板的两个软件串行端口从两个传感器获取数据。我注意到以前可能有人问过类似的问题,但答案表明它无法完成,我完全知道它可以基于此处的示例(http://arduino.cc/en/Tutorial/TwoPortReceive)!
我正在使用 arduino 以太网。我试图从中获取数据的设备包括来自 sparkfun 的 GPS 和 IMU。
我可以只使用软件串行端口从任一设备获取数据,但只要我添加第二个软件串行端口,两个端口都不会工作。我不能使用硬件串行端口,因为它正在被另一台设备使用。
我的代码与示例完全相同:
#include <SoftwareSerial.h>
SoftwareSerial portOne(7,8);
SoftwareSerial portTwo(5,6);
void setup()
{
Serial.begin(9600);
portOne.begin(9600);
portTwo.begin(9600);
}
void loop()
{
portOne.listen();
while (portOne.available() > 0) {
char inByte = portOne.read();
Serial.write(inByte);
}
delay(500);
portTwo.listen();
while (portTwo.available() > 0) {
char inByte = portTwo.read();
Serial.write(inByte);
}
Serial.println();
}
有任何想法的人吗?