Kreisförmige Abhängigkeiten sollte man nach Möglichkeit vermeiden.
Abgesehen davon dass du wie gesagt die Deklaration von der Implementierung trennen musst (getrennte .h und .cpp Dateien) sind hier Lösungen für Funktionen und Klassen gezeigt:
Also das funktioniert und ich mache große (Lern)fortschritte.
Jetzt passiert noch etwas, was ich gar nicht verstehe:
Ich deklariere im Main.h:
#define BUZZERPIN 11
dann nutze ich im Buzzer.cpp diesen Pin:
pinMode(BUZZERPIN, OUTPUT);
Dann sagt er, dass im Buzzer.cpp dieser Pin nicht deklariert wurde.
Stimmt auch, habe ich ja schon im Main.h deklariert und dieser wurde als erstes inkludiert.
Wenn ich jetzt (nur versuchsweise) im Buzzer.cpp #include "Main.h" mache, dann geht es trotzdem nicht...
Das verstehe ich überhaupt nicht. Danke für eure Geduld.
Nun dauert es relativ lange und es bleibt alles fehlerfrei
und dann kommen hundertausende von Fehlern wie:
sketch\Buzzer.cpp.o (symbol from plugin): In function `ts':
(.text+0x0): multiple definition of `ts'
sketch\Buttons.cpp.o (symbol from plugin):(.text+0x0): first defined here
sketch\Buzzer.cpp.o (symbol from plugin): In function `ts':
(.text+0x0): multiple definition of `LCD_RESET'
sketch\Buttons.cpp.o (symbol from plugin):(.text+0x0): first defined here
sketch\Buzzer.cpp.o (symbol from plugin): In function `ts':
(.text+0x0): multiple definition of `tft'
sketch\Buttons.cpp.o (symbol from plugin):(.text+0x0): first defined here
sketch\Buzzer.cpp.o (symbol from plugin): In function `ts':
(.text+0x0): multiple definition of `p'
usw.
Für mich sieht das aus, wie wenn es Mehrfachdeklarationen gab. Aber genau das habe ich doch über #ifndef vermeiden wollen...
In file included from C:\Users\dos2si\Documents\Arduino\libraries\SPFD5408-master\SPFD5408_Adafruit_TFTLCD.cpp:30:0:
C:\Users\dos2si\Documents\Arduino\libraries\SPFD5408-master\pin_magic.h:306:33: warning: backslash and newline separated by space
#define read8inline(result) { \
^
sketch\Buzzer.cpp.o (symbol from plugin): In function `beep(int, int)':
(.text+0x0): multiple definition of `Zahl_Endzeit'
sketch\Buttons.cpp.o (symbol from plugin):(.text+0x0): first defined here