pinMode & digitalWrite außerhalb von Setup und Loop verwenden

combie:
Grundsätzlich:
In *.h Dateien sollten sich keine Definitionen befinden.
Sondern nur Deklarationen.

Die Definitionen gehören in *.cpp Dateien.

OK das ist mir soweit klar.
Jedoch muss ich ehrlich gestehen das ich mich um die Deklarationen bisher nicht gekümmert habe, das hat ja alles die IDE für mich beim Koppeliren übernommen. * ich Schäme mich in der ecke, alleine dafür*

Das mit dem Richtigen Deklarationen, muss ich dann noch etwas lernen.
Frage? wenn ich eine CPP Datei habe muss ich dann die Sachen Deklarationen oder würde das die IDE in den Fall zu Not auch noch für mich übernehmen?

Wenn ich das jedoch richtig verstanden habe durch das Deklarieren von z.B. einer Funktion kann ich die Funktion auch nach dem Aufruf der Funktion stehen habe, da die IDE wies das es die Funktion gibt, und somit damit arbeiten kann?

Was ich dann auch gar nicht verstehe ist die aussage von @combie

combie:
Es macht übrigens überhaupt keinen Sinn, in eine *.h Datei sowas zu schreiben:

AccelStepper Achse_A(1, PUL_A, DIR_A);
pinMode(ENA_A, OUTPUT);

Begründung:
pinMode() ist an anderer Stelle schon extern deklariert.
Da muss man sich nicht kümmern.

Ich wollte das nicht Deklarieren, sondern den Ausgang des Pins ENA_A auf OUTPUT stellen.
Ich bekomme da im Übrigen auch in der CPP Datei die selbe Fehlermeldung ;-(.

Gruß Mücke