Forum: Mikrocontroller und Digitale Elektronik Flussdiagramm zum Programm LED-Lauf


von Hel B. (helbi)


Angehängte Dateien:

Lesenswert?

Hallo,

die Frage ist die Fortsetzung des Themas, die ich vor Paar Tagen 
gestellt habe.
Gegeben ist das funktionierendes Mikrokontrollerprogramm (s.Anhang) wo 
LEDs von 7-Segment-Anzeige undendlich lang als 7 LEDs laufen laufen (und 
Ziffer 8 durchlaufen) und daneben eine Reihe von 8 LED.

Dazu wird Flussdiagramm erstellt (s.Anhang).

Meine Fragen wären:

1. Kann man das Befehl "return" - über dem als Punktier-markiertes-Pfeil 
(von "Ende" zur Datei "Deklaration.h") draufschreiben?, weil das Befehl 
"return" bedeutet: rausspringen aus der Funktion.

1a. Zwischenfrage: aus welcher Funktion wird durch "return" 
rausgesprungen: aus der Funktion "void ZEITSCHLEIFE_50mS()" oder aus der 
Projektdatei "ZEITSCHLEIFE_50mS" ? Und durch "return" wird in die Datei 
des Projektes gelandet, wo der Ausdruck ZEITSCHLEIFE_50mS() steht?


2. Gibt es keine innere Schleife im angehängtes Programm 
(Flussdiagremm)? Das Programm wird nicht durch eine innere Schleife 
ausgeführt, sondern nur dann wenn sie von außen (anderes Programm) 
angesprochen ist (mit in vorherigen Programmaufruf vorbereitetem i=i+1 ) 
?

von was (Gast)


Lesenswert?

Wiebitte was?
Deine Fragen und Beschreibungen sind so unverständlich geschrieben, da 
kommt nichtmal meine Glaskugel mit zurecht...

von Michael K. (aemkai)


Lesenswert?

Hel B. schrieb:
> 1. Kann man das Befehl "return" - über dem als Punktier-markiertes-Pfeil
> (von "Ende" zur Datei "Deklaration.h") draufschreiben?
Wo willst du "return" hinschreiben? Du kannst im Programmablauf nicht in 
eine Header-Datei springen.

> 1a. Zwischenfrage: aus welcher Funktion wird durch "return"
> rausgesprungen: aus der Funktion "void ZEITSCHLEIFE_50mS()" oder aus der
> Projektdatei "ZEITSCHLEIFE_50mS" ? Und durch "return" wird in die Datei
> des Projektes gelandet, wo der Ausdruck ZEITSCHLEIFE_50mS() steht?
Nach deinem Quellcode erfolgt der Rücksprung aus
1
void SCHLEIFE()
Ansonsten ja: Der Rücksprung erfolgt in die ausrufende Funktion, also wo 
der Aufruf
1
SCHLEIFE()
 erfolgt.

> 2. Gibt es keine innere Schleife im angehängtes Programm
> (Flussdiagremm)?
Nein, die Funktion läuft einmal durch.
> Das Programm wird nicht durch eine innere Schleife
> ausgeführt, sondern nur dann wenn sie von außen (anderes Programm)
> angesprochen ist (mit in vorherigen Programmaufruf vorbereitetem i=i+1 )
> ?
Ja, die Funktion wird nur bei Aufruf ausgeführt. (Wobei i für den ersten 
Durchlauf außerhalb initialisiert werden muss)

von Peter D. (peda)


Lesenswert?

Hel B. schrieb:
> Programm.jpg

Ooch nöö.
Lies endlich mal die Postingregeln!

von Jay (Gast)


Lesenswert?

was schrieb:
> Wiebitte was?
> Deine Fragen und Beschreibungen sind so unverständlich geschrieben, da
> kommt nichtmal meine Glaskugel mit zurecht...

Na, ist doch offensichtlich der Versuch uns Hausaufgaben anzudrehen. 
Beim Tran­skri­bie­ren ist dabei was durcheinander gekommen.

Wenn der Frager es richtig lernen möchte, es gibt so voll echte 
Oldschool Beschreibungen aus den 60ern und 70ern über Flowcharts. Könnte 
man ja mal lesen statt zu versuchen seine Hausaufgaben an ein Forum 
auszusourcen:

http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-4,%202nd%20Edition,%20September%201966.pdf
http://www.eah-jena.de/~kleine/history/software/IBM-FlowchartingTechniques-GC20-8152-1.pdf
https://www.ideals.illinois.edu/bitstream/handle/2142/743/1963Schultheiss.pdf

von Dieter F. (Gast)


Lesenswert?

Ersetze "Start" durch "Begin" und "Ende" durch "Return"

Kannst auch mal (im übetragenen Sinn) hier schauen

http://www.weigu.lu/a/pdf/MICEL_A6_Unterprogramme.pdf

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.