Ich habe meine Bibliothek, die Serial
, Serial1
und Serial2
verwendet, um verschiedene Protokollierungsszenarien einzurichten. Der Bibliotheksbenutzer würde die Konfiguration im Klassenkonstruktor unter Verwendung einfacher Bytekonstanten wie 0, 1 und 2 definieren.
Das Problem ist, dass Serial1
und Serial2
dies nicht sind in allen Boardtypen erhältlich. Wenn ich also meinen Code (der auf Mega gut kompiliert werden kann) auf Uno kompiliere, erhalte ich den Fehler 'Serial1' wurde in diesem Bereich nicht deklariert
.
Ich denke also, ich muss ihn anpassen Mein Code mit Präprozessor-Direktive wie #if defined
, um nur dann Code aufzunehmen, wenn Serial1 definiert ist. Dies würde jedoch nicht funktionieren, da Serial1 später zur Kompilierungszeit definiert wird. Was ist der akzeptierte Weg, dies zu tun?