0

在一个项目中,我们尝试在三个 ATtiny 之间建立一个通信网络,其中第一个必须接收来自其他两个的消息。其他两个微型连接到第一个微型的两个不同引脚。然后,第一个 tiny 必须从其他 tiny 接收两个字符串,每个字符串一个,并将其发送到 Arduino。对于我们使用的通信SoftwareSerial。我们设法接收和发送来自一个微小的输入,但不是来自它们两个,因为我们无法找到一种方法来一次只从一个特定的引脚读取输入。这是我们使用的代码:

#include <SoftwareSerial.h>
const int rx=4;
const int rx2=1;
const int tx=3;
const int tx2=3;

SoftwareSerial mySerial(rx,tx);
SoftwareSerial mySerial2(rx2,tx2);

void setup() 
{ 
  pinMode(rx,INPUT);
  pinMode(rx2,INPUT);
  pinMode(tx,OUTPUT);

  mySerial.begin(9600);
  mySerial2.begin(9600);
} 

void loop()
{
  mySerial.listen();

  if (mySerial.isListening()) {
    mySerial.println("Port One is listening!"); 
    mySerial.println(mySerial.read());
  }
  else{
    mySerial.println("Port One is not listening!"); 
  }

  mySerial2.listen();
  if (mySerial2.isListening()) {
    mySerial2.println("Port Two is listening!"); 
    mySerial2.println(mySerial2.read());
  }
  else{
    mySerial2.println("Port Two is not listening!"); 
  }

  delay(500);

}

上面的代码在没有mySerial2.listen();. 也许listen-functionSoftwareSerial对 tinys 不起作用,但如果是这种情况,是否有另一种方法来监听特定的输入引脚?或者你有什么建议吗?

4

0 回答 0