Forum: Mikrocontroller und Digitale Elektronik Hindergrund Routine


von Anja (Gast)


Lesenswert?

Hey, weiß jemand von euch ob man mehrere Prozesse in BASIC parallel 
ablaufen lassen kann, also den einen für eine bestimmte Zeit und im 
Hintergrund den anderen??

Brauch man da eine While-Schleife? For?

Anja

von Buddl (Gast)


Lesenswert?

Ich gehe mal davon aus weil du in BASIC programmierst redest du von 
AVRs?
Sowas ist nicht möglich. Ein AVR kann immer nur einen Prozess zu einer 
Zeit machen, nie mehrere gleichzeitig. Einzige Ausnahmen sind spezielle 
Features (Watchdog, Brown Out,...) und Interrupts (Timer).

von Anja (Gast)


Lesenswert?

Ja Avrs. Schade..

von Falk B. (falk)


Lesenswert?

@ Anja (Gast)

>Hey, weiß jemand von euch ob man mehrere Prozesse in BASIC parallel
>ablaufen lassen kann, also den einen für eine bestimmte Zeit und im
>Hintergrund den anderen??

Nein.

>Brauch man da eine While-Schleife? For?

Eher While. Du musst deine einzelnen Prozesse so programmieren, dass sie 
nur kurze Zeit arbeiten und dann wieder beendet werden (Als Funktionen). 
Dann kannst du in einer Endlosschleife nacheinander deine Prozesse 
aufrufen und hast damit kooperatives Multitasking geschaffen.

MfG
Falk

von ARM-Fan (Gast)


Lesenswert?

Wirklich Parallel nicht, aber quasi-parallel.
Das macht zum Beispiel der Scheduler eines Betriebssystems.
Das geht auf jedem Rechner.

von Frank Link (Gast)


Lesenswert?

Hallo Anja,
schaumal in die Codesammlung da gibt es einen Scheduler. Vielleicht 
reicht er ja für Dich

Gruss
Frank

von 1315 (Gast)


Lesenswert?

Da kam schon viel Geschwaetz den Bach runter. Ja, man kann mehrere 
Prozesse laufen lassen, und nein ein Betriebssystem mit Scheduler 
braucht man dazu nicht.
Die Prozesse sind logisch fast unabhaengige Gebilde. Da heisst sie haben 
voneinander unabhaengige Variablen und ein unabhaengiges Timing.
Das einfachste ist die Prozesse auf ein gemeinsames Raster zu bringen, 
das von einem Timer vorgegeben wird. Der eine Prozess kommt vielleicht 
alle zwei Takte vor, der andere alle 5 Takte. Im Main, und nur im Main 
wartet man auf den Timer, der das Timing vorgibt und laesst dann eine 
Scheibe des Prozesses laufen. Der Prozess darf nirgendwo warten und muss 
schneller fertig sein als das Interval indem er gestartet wird.

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.