Forum: Mikrocontroller und Digitale Elektronik c Anweisungen nur EIN mal durchführen


von simon (Gast)


Lesenswert?

Hallo,

ich habe einen Quelltext, in dem bestimmte Anweisungen nur EIN mal 
ausgeführt werden sollen. Zur Zeit habe ich dies so gelöst:
1
MAIN()
2
3
{
4
5
Anweisung_1    // NUR 1 MAL
6
7
switch(1)
8
9
Anweisung_2
10
Anweisung_3
11
...
12
13
}

aber das ist wahrscheinlich nicht fachmännisch gelöst :-)

Gibt es da eine saubere Lösung ?

Gruß

Simon

von simon (Gast)


Lesenswert?

Entschuldigung meinte natürlich "WHILE(1)"

von PittyJ (Gast)


Lesenswert?

Es gibt gute Bücher über C und über das Programmieren im allgmeinen.

Darin steht z.B. dass main() mit kleinen Buchstaben geschrieben werden 
muss.
Weiterhin findest du auch alles zu Variablen, und wie man sie setzen und 
abfragen kann.

Merke: erst lesen dann fragen.

von Thomas E. (thomase)


Lesenswert?

simon schrieb:
> Entschuldigung meinte natürlich "WHILE(1)"

nicht while(1)?

Ja, so macht man das. Nahezu jedes Programm startet mit 
Initialisierungen. Die werden, bevor das Programm in die Schleife 
einbiegt, einmal ausgeführt und bis zum nächsten Reset nicht wieder 
angerührt.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Es ist ganz normal, dass ein µC-Programm in C folgenden Aufbau hat:
1
void init (void)
2
{
3
    // Initialisierung von Variablen, Ports, Peripherie, etc.
4
}
5
6
int main ()
7
{
8
    init ();
9
10
    while (1)
11
    {
12
        // Hauptschleife
13
    }
14
}

Das ist dann soweit ganz überschaubar und auch der gängige Weg.

P.S.
Gewöhne Dir direkt an, die richtigen Schlüsselwörter zu nehmen, "MAIN" 
verwirrt nur.

von Noch einer (Gast)


Lesenswert?

Das ist doch der ganz normale Aufbau eines Mikrocontroller-Programmes. 
Das main() enthält zwei Blöcke. Die Initialisierung und die 
Endlosschleife.

Warum willst du es anders machen?

von Sebastian K. (sek)


Lesenswert?

simon schrieb:

> aber das ist wahrscheinlich nicht fachmännisch gelöst :-)

Fachmännisch ist ein Programm nicht dann, wenn es andere als gut 
empfinden.
Sondern wenn...

... es den Syntaxregeln der Programmiersprache gerecht wird (hier C/C++)
... der Code sauber, aufgeräumt und übersichtlich aufgebaut ist und im 
Optimalfall einem Coding Standard folgt
... das Programm tut was es soll und das ohne Fehler
... das Programmablauf performant und resourcenschonend arbeitet

Unter Beachtung dieser Punkte lässt sich mit den vielen Mitteln, die 
eine Sprache wie C/C++ bietet, ein und das selbe Problem auf teilweise 
dutzend verschiedenen Arten lösen.

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.