Kommunikation zwischen Mega und pro micro

Hallo zusammen,
Ich habe ein Sainsmart mega rev3 Board und ein anderes pro micro board.
Nun möchte ich (wenn möglich) über Serial, Daten zwischen den beiden Boards hin und her senden.
Ich hab zwar schon versucht microPins 0 und 1 (TX, RX) mit MegaPins 14 und 15 (TX, RX) zu verbinden (überkreuzt: 0-15, 1-14), aber hat leider nicht funktioniert.
Meine Frage jetzt, muss ich die Boards anders verbinden?
Und wie sieht es mit der Software aus? Reicht da ein einfaches Serial1 bzw Serial3.read/print?

Masse muss auch verbunden sein.

Reicht da ein einfaches Serial1 bzw Serial3.read/print?

Kommt darauf an was du übertragen willst. Normal sind es mehr als einzelne Bytes, dann braucht man noch Code außen herum. Ist aber auch nicht anders als wenn man Daten vom Serial Monitor einliest.

RW2003:
Ich hab zwar schon versucht microPins 0 und 1 (TX, RX) mit MegaPins 14 und 15 (TX, RX) zu verbinden (überkreuzt: 0-15, 1-14), aber hat leider nicht funktioniert.

Hast du auch Masse(GND) miteinander verbunden?

Poste sowohl den Schaltplan wie auch deinen Code. Oft versteckt sich der Fehler in vermeintlichen Nebensächlichkeiten.

Verbindungen GND GND, Micro-TX0 Mega-RX1, Micro-RX0 Mega-TX1.

Mega

void setup() {
  Serial.begin(115200);
  Serial1.begin(115200);
}
void loop() {
  static unsigned long lastSecond;
  unsigned long topLoop = millis();

  while (Serial1.available()) {
    Serial.write(Serial1.read());
  }
  if (topLoop - lastSecond > 1000) {
    lastSecond = topLoop;
    Serial1.println(F("Mega"));
  }
}

Micro

void setup() {
  Serial.begin(115200);
  while (!Serial) {
    ;
  }
  Serial1.begin(115200);
}
void loop() {
  static unsigned long lastSecond;
  unsigned long topLoop = millis();

  while (Serial1.available()) {
    Serial.write(Serial1.read());
  }
  if (topLoop - lastSecond > 1000) {
    lastSecond = topLoop;
    Serial1.println(F("Micro"));
  }
}

Geht prima.

Haha ok.
Irgendwie hab ich mich vorhin schon gedacht, dass der Strom doch irgendwo hin fließen muss und wohl kaum bei Rx rein und Tx wieder raus geht xD.
Werd jetzt mal die GNDs mit einander verbinden....

Deine Sketches laufen gut. Danke.
Funktiniert denn das SerialEvent() auch für die NichtUSBVerbindung? Also für meine Serial1 bzw. Serial3?

Wo siehst du ein serialEvent?

Abgesehen davon wird serialEvent nur aufgerufen wenn Serial einen Empfang meldet.

Benutz doch SerialX.available().

naja ich wollte in meinem programm (weclhes jetzt soweit funktioniert, mit dem Daten austausch) die interrup serialEvent funktion benutzen um selber nciht überprüfen zu müssen ob was kommt.
Ist aber egal jetzt guckt der mega halt immer mal wieder nach...

serialEvent() ist kein Interrupt! Das ist eine Funktion die automatisch am Ende von loop() aufgerufen wird nur dann. Bringt also gar nichts.

Oh ok. ja gut. dann ists ja eh egal...