我在使用兩個帶有arduino板的軟件串行端口從兩個傳感器獲取數據時遇到了問題。我注意到一個類似的問題可能之前已經問過,但答案表明它不能完成,我完全清楚它可以基於這裏的示例(http://arduino.cc/en/Tutorial/TwoPortReceive)!在Arduino上使用軟件串口接收兩個端口
我正在使用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();
}
有任何想法嗎?
燦你給我們提供了有關它不起作用的更多信息嗎? – Jeff
我以某種方式得到它的工作,你必須設置引腳狀態,即接收引腳作爲輸入和傳輸引腳作爲輸出。 – Dyps