Forum: Mikrocontroller und Digitale Elektronik Unterprogramme


von Michael (Gast)


Lesenswert?

Hallo zusammen
Kennt jemand eine gute Seite in der Unterprogramme ausführlich 
beschrieben sind?
Einfach unterprogramm mit Wertübergabe kann ich schreiben, würde mich 
aber da sehr gerne vertiefen.
Danke und gruss

von Peter II (Gast)


Lesenswert?

Michael schrieb:
> Einfach unterprogramm mit Wertübergabe kann ich schreiben, würde mich
> aber da sehr gerne vertiefen.

was gibt es da noch zu vertiefen? Noch mehr Parameter? Unterprogramm in 
Unterprogramm?

von Marius W. (mw1987)


Lesenswert?

In welcher Sprache? C? ASM?

Für C: Jedes Buch über C-Programmierung.
Für ASM: Prozessorspezifisch... Du musst dir halt eine eigene kleine ABI 
ausdenken. Parameter 1 in Register X, Parameter 2 in Y, Rückgabe in Z 
oder sowas...

Gruß
Marius

von Michael (Gast)


Lesenswert?

Peter II schrieb:
> was gibt es da noch zu vertiefen? Noch mehr Parameter? Unterprogramm in
> Unterprogramm?

Unterprogramme in denen ich ein Wert in das Hauptprogramm gebe kann ich 
schreiben, aber Unterprogramme bei denen ein Wert vom Hauptporgramm in 
das Unterprogramm soll und dann wieder zurück begreife ich nicht.

von Peter II (Gast)


Lesenswert?

Michael schrieb:
> aber Unterprogramme bei denen ein Wert vom Hauptporgramm in
> das Unterprogramm soll und dann wieder zurück begreife ich nicht.

naja das hat auch weniger mit Unterpogramm zu tun. Vermutlich geht es um 
C/C++ und dort macht man das mit Zeigern.
1
void add( int* i, int wert ) 
2
{
3
   *i = *i + wert;
4
}
5
6
int i;
7
8
i = 1;
9
add( &i, 5 );
10
printf("i = %d\n", i );

meinst du soetwas?

von Dennis S. (eltio)


Lesenswert?

Hier findest du das Thema sehr ausführlich beschrieben wenn du in C 
programmierst:

http://www.proggen.org/doku.php?id=c:func:start

Stichworte: Parameter und Rückgabewert, danach Zeiger.

Gruß Dennis

von Karl H. (kbuchegg)


Lesenswert?

Michael schrieb:
> Peter II schrieb:
>> was gibt es da noch zu vertiefen? Noch mehr Parameter? Unterprogramm in
>> Unterprogramm?
>
> Unterprogramme in denen ich ein Wert in das Hauptprogramm gebe kann ich
> schreiben, aber Unterprogramme bei denen ein Wert vom Hauptporgramm in
> das Unterprogramm soll und dann wieder zurück begreife ich nicht.

Reden wir von C?

Wenn ja, dann ist dein Problem eigentlich die berühmt berüchtigte 
'Pointer-Frage'.


Und ja. Kauf dir ein ordentliches Lehrbuch und arbeite es von Anfang an 
durch, mache die Übungsaufgaben an jedem Kapitel.
Zb Kernighan&Ritchie, Programmieren in C

Was du anscheinend momentan mesrkst: die meisten Online-Tutorien sind 
mieser Schrott. Der Autor geht zwar mit viel Enthusiasmus an die Sache 
ran, merkt dann aber, dass die Sache doch umfangreicher ist als er 
ursprünglich gedacht hat. Effekt: die Hälfte dessen, was man als 
C-Programmierer wissen muss steht nicht in den Tutorien und der 
verbliebene traurige Rest ist auch oft zweifelhaft, wenn nicht oft soger 
einfach nur falsch.

Die 15 oder 20 Euronen für ordentliche Literatur sind gut angelegtes 
Geld, wenn du einigermassen ernsthaft Programme schreiben willst.

: Bearbeitet durch User
von Michael (Gast)


Lesenswert?

Ja ich Programmier in C
Ich hab das Buch Vogel 4 Digitaltecknick doch dort finde ich nicht 
nützliches drüber:

@Peter es ist gemeint das mein einen Wert (Schalterwert/Messwert oder 
was auch immer) einliest im Unterprogramm verarbeitet und dann 
zurückgibt

von Dennis S. (eltio)


Lesenswert?

Digitaltechnik ist auch der falsche Bereich:
http://www.proggen.org/doku.php?id=c:func:start#rueckgabewerte

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.