Hallo Severin,
erstmal in C ist es vollkommen wurscht, ob Du eine neue Funktion oder
eine neue Datei anlegst. Es geht sich dabei nur um eine sinngemäße
Zuordnung. Unter C++ ist das ganz anders, da heißt das Klasse und ist
eine geschlossene Gemeinschaft.
Globale Variablen (allle Variablen die Außerhalb einer Funktion
deklariert sind) können immer von überall aus aufgerufen und verändert
werden.
Wenn Du Dir den assemblierten Code anschauen würdest, würdest Du
feststellen, das man dort nicht mehr feststellen kann, ob Du einer
Funktion verwendet oder alles in main reingeschrieben hast - okay das
kann man schon noch rekonstruieren, aber so genau will ich hier nicht
werden -.
Ich benutze immer dann eigene Funktionen wenn das ganze ein
abgeschlossener Funktionsbereich ist oder sich bestimmte Codesegmente
öfters wiederholen. Eine Funktion ist im Assembler nur eine
Sprungstelle, die anschließend wieder zurückspringt auf den
ursprünglichen Code. Eigene Dateiklassen verwende ich für logische
Blöcke, z.B. UART, TWI, I2C, Display, Tastatur usw. Der Hintergrund ist
die leichtere Eeintegration in neue Projekte - Rad nicht immer neu
erfinden!
Ich würde das ganze in die Datei packen, die für die Commandos
zuständig ist und mit einer entsprechenden Funktion umkleiden.
Gruß Marcus