Hilfe bei mehreren Instanzen SoftwareSerial (nur senden)

unterdessen hatte ich im Forum weiter gestöbert und bin auf den Befehl Serial.listen(); gestoßen, mit dem man Serialports umschalten kann. Das habe ich, wie folgt ausprobiert: in jedem Loopdurchlauf schaltet Serial.listen() um.

void loop()
{  
loopSwitch = (loopSwitch + 1);
if (loopSwitch == 2) {
  loopSwitch = 0;
}

if (loopSwitch == 0) {
  bqSoftSer1.listen();
}

if (loopSwitch == 1) {
  bqSoftSer2.listen();
}

... und es funktioniert in sofern, dass beide Player gleichzeitig spielen, also immer der jeweils andere Player übernimmt, wenn einer schon "besetzt" ist, so wie gewollt.
Es funktionniert aber nicht perfekt, gerade Player1 spielt oft nicht zuende oder setzt doppelt ein (also bricht ab, setzt von vorn ein).

folgende HarwareSerial-Rückmeldungen empfange ich:

DFRobot DFPlayer Demo
Initializing DFPlayer ... (May take 3~5 seconds)
Player2 online.
Player1 online.
Time Out!
Stack Wrong!
Button1
Time Out!
Stack Wrong!
Stack Wrong!
Button2
Time Out!
Stack Wrong!
Stack Wrong!
Button3
Time Out!
Stack Wrong!

Was bedeutet hier "Stack Wrong"?
Und warum kommt immer ein "TimeOut"?
(Das kommt ja schon bevor überhaut ein Taster gedrückt wurde....)