Kostenloser Elektrotechnik VIDEO-Kurs


Grundlagen der Elektrotechnik, Gleichstromnetze und Berechnungsverfahren
Wechselstrom- und Drehstromnetze, elektrische Maschinen und Regelungstechnik
Digitaltechnik, Mikrocontrollertechnik und C-Programmierung


Funktionen in C, Definition und Deklaration

Durch die Verwendung von Funktionen kann man Programme strukturieren und effizienter machen.
In unserem Beispiel möchten wir die Geldeingabe und die Getränkeausgabe für unseren Kaffeeautomaten optimieren. Gleiche Programmteile möchten wir nur einmal programmieren und dann von verschiedenen Stellen aufrufen können.

Nachdem ich also in der letzten Folge schon einmal kurz die prinzipielle Verwendung von Funktion angesprochen habe, möchte ich mit der heutigen Folge beginnen, etwas tiefer in das Thema Funktionen in C einzusteigen.

Definition und Deklaration

Konkret soll es heute um das Thema Definition und Deklarationen von Funktionen in C gehen. Um die Verwendung von Funktionen zu verstehen ist es hilfreich ein wenig über die Arbeitsweise eines Compilers zu verstehen.

Das prinzipielle Vorgehen beim Übersetzen eines Programms hatte ich zu Beginn des Kurs schon vorgestellt. Wenn Du Dich nicht mehr genau erinnerst, könnte diese Folge interessant sein, ich der ich die Zusammenarbeit von Compiler und Linker kurz zeige.

Im heutigen Video zeige ich zunächst noch einmal, wie Funktionen sich gegenseitig aufrufen können und demonstriere dann mit dem Emulator, die Probleme bei der Definition von Funktionen und die Lösung mit Hilfe der Deklaration von Funktionen.

Hier zunächst das heutige Video.




Die Ursprungsquelldatei:

/*——————————————————————————
 HELLO.C

 Copyright 1995-2005 Keil Software, Inc.
 ——————————————————————————*/

 #include <REG52.H>               
  #include <stdio.h>               
 /*————————————————
 The main C function.  Program execution starts
 here after stack initialization.
 ————————————————*/

void funk1(void); // Deklaration von funk1
void funk2(void); // Deklaration von funk2

void main (void) {

 /*————————————————
 Setup the serial port for 1200 baud at 16MHz.
 ————————————————*/
 #ifndef MONITOR51
 SCON  = 0x50;              
 TMOD |= 0x20;              
 TH1   = 221;               
 TR1   = 1;                                           
 TI    = 1;                 
 #endif

 /*————————————————
 Note that an embedded program never exits (because
 there is no operating system to return to).  It
 must loop and execute forever.
 ————————————————*/

printf("In main()\n");

while(1)
{

}

}    //end main

Zusammengefasst

In der Definition einer Funktion wird genau festgelegt, wie eine Funktion aufgebaut ist, welche Parameter sie übergeben bekommt und welchen Wert sie an die aufrufende Funktion zurückgibt.

Eine Deklaration gibt dem Compiler Informationen darüber, dass eine bestimmte Funktion existiert und welche Parameter sie erwartet und welchen Wert sie zurückgibt. Die Deklaration einer Funktion hilft dem Compiler beim weiteren Übersetzen des Programms.

Häufig werden Deklarationen von Funktionen in sogenannten Header-Dateien ausgelagert und dann im Quellcode über den #include-Befehl eingebettet. Dies erhöht bei größeren Programmen die Übersichtlichkeit.

Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]

Elektrotechnik muss nicht kompliziert sein.
Deshalb gibt es VIDEO-Tutorials.

Hat Dir der Artikel geholfen? - Dann hilf dem Artikel ;-)

Funktionen in C, Definition und Deklaration:
1 Star2 Stars3 Stars4 Stars5 Stars
3,71 von 5 Punkten, basieren auf 7 abgegebenen Stimmen.
Stimme jetzt ab ! (auf die Sternchen klicken)
Loading ... Loading ...


Fragen und Antworten zu diesem Artikel und zu anderen Themen findest Du im ET-Tutorials Forum

Ähnliche Artikel

Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:

Funktionen in C Ähnliche oder gleiche Befehle, die öfter genutzt werden kann man besser in Funktionen ausgliedern. F...

Was machen Compiler und Linker ? Im heutigen Artikel geht es um das Übersetzen eines C-Programms. Ein C-Programm wird zunächst einma...

Funktionen in C, Parameterübergabe In der letzten Folge hatte ich bereits erläutert, wie Compiler und Linker und anschließend auch das ...

Funktionen in C, Globale und lokale Variablen Was wären Funktionen doch langweilig, wenn sie immer nur das gleiche machen würden. Um Programme eff...

Interrupts und Polling Heute geht es nun um das Thema Interrupts. Was sind Interrupts? Wozu benötigt man Interrupts? Was is...