Was bedeutet void main(void) (Programmierung, C)?
4 Antworten
Zu deiner speziellen Programmfrage:
Port_DataDirBit(LED1, PORT_OUT);while(1) {
Port_WriteBit(LED1, PORT_ON);
AbsDelay(1000);
Port_WriteBit(LED1 , PORT_OFF);
AbsDelay(1000);
}
(das ist nur eine Vermutung, ohne mich näher damit auseinanderzusetzen, kann ich für nichts garantieren)
Ein Pin des Ports wird als Ausgang deklariert.
Es folgt eine Endlosschleife, die im Abstand von 1000 Millisekunden den Port ein- und ausschaltet.
Das ist der Einprungpunkt in Dein Programm.
Das "linke" Void ist der Rückgabedatentyp und bedeutet: "Funktion gibt nichts zurück".
Das "rechte" Void bedeutet, dass die Funktion keine Parameter erwartet.
Die "übliche" Signatur für die Main-Funktion in C ist übrigens folgende.
int main(int argc, char** argv)
{
...
return 0;
}
Oder im Fehlerfall eventuell einen anderen Rückgabewert.
Du solltest mal endlich anfangen dabei zu schreiben was Du da hast. Du programmierst Mikrocontroller, da gibt es viele Besonderheiten die mit dem eigentlichen C nichts zu tun haben sondern anwendungsbezogen sind.
Das ist der Hauptprozess deines Programms (darum main). Die voids stehen da, weil es keinen Parameter bekommt und auch nix zurückgibt.
Ein "Prozess" ist es nicht. Es ist der Einsprungpunkt in das Programm.
Vielen Dank :)
Kannst du mir vielleicht auch noch ein paar andere Befehle erklären?
Vielen Dank:)