Anfänger: Loop-Changer-Pedal m. Arduino Uno / Probleme mit Variable

Den interessantesten Teil im

void serialmonitor() { //Serial Monitor Debug
    //hier sind diverse Serial.print (gelöscht wegen 9000 Zeichen Limit)
}

verheimlichst Du uns.
Darum können wir den Fehler nicht nachspielen weil wir den Sketch zum Kompilieren nicht haben. Außerdem wären die bei Dir auftretenden Fehlermeldungen auch interessant.
Den Sketch kannst Du in diesem Fall als Anlage mitschicken.

Meine Annahme: Du hast eine Funktion

void serialmonitor() { //Serial Monitor Debug
    //hier sind diverse Serial.print (gelöscht wegen 9000 Zeichen Limit)
}

die Serial.print macht. Diese, wegen der fehlenden Fehlermeldungen, glaube ich, geben Dir die Fehlermeldungen weil Du Serial.begin bedingt ausführst.

Mach die Debugausgaben mit "#ifdef". Dadurch wird der Sketch mit oder ohne Debugcode kompiliert.
zB

//Enable debug mode
#define debug
...
setup(){
#ifdef debug
  Serial.begin(9600);
#endif
...
}

loop()
{
...
#ifdef debug
  Serial.print("text"); ....
#endif
...
}

Zum Ausschalten der Debugausgaben setzt Du "#define debug" einfach als Komentar (mit "//").

So wird bei nichtgewollten Debug der Sketch ohne das Debugzeugs kompiliert und somit auch kleiner.

Grüße Uwe