Forum: Mikrocontroller und Digitale Elektronik parallele prozesse in basic?


von ann-marie (Gast)


Lesenswert?

hallo,

kann man mehrere subprogramme parallel ablaufen lassen?
oder laufen die alle nur hintereinander ab, so wie man sie aufgelistet 
hat...?

ann

von Severino R. (severino)


Lesenswert?

Die Subprogramme laufen in der Reihenfolge ihres Aufrufs ab, nicht in 
der Reihenfolge ihrer Auflistung.

Ja, es gibt multitasking-fähige BASICs.

Severino

von Emperor_L0ser (Gast)


Lesenswert?

ob was parallel oder nur nacheinander ablaufen kann hängt von deinem 
prozessor ab. soviele aufgaben, wie prozessoren vorhanden sind, laufen 
parallel ab.
auf aktuellen pc gibs dieses "problem" ja auch, da meist mehr aufgaben 
als prozessoren vorhanden sind. dort werden die aufgaben so schnell 
hintereinander durchgewechselt, das es aussieht als ob alles 
gleichzeitig läuft.

stichwort: scheduling

das ganze ist also ein hardware und nicht wirklich ein software problem.
wenn du sagst. was du eigentlich machen willst, könntest du vll weitere 
hinweise erhalten

mfg Emperor_L0ser

von Uwe (Gast)


Lesenswert?

nun, auch mit einer CPU können mehrere Prozesse "parallel", gesteuert 
durch den Betriebssystem-Scheduler, arbeiten. Die Hardware ist dabei 
erstmal aussen vor....

Das Scheduling wird durch das Betriebssystem erledigt. Vereinfacht 
gesprochen, es läuft ständig eine grosse Programmschleife, in der, 
gesteuert durch Parameter/Merker/Zustände etc., entschieden wird, 
welcher Prozess als nächstes von der CPU abgearbeitet wird (und für wie 
lange...)

Es wäre denkbar soetwas auch nativ in EINEM Programm zu machen (also 
unabhängig von einem Betriebssystem, falls es soetwas in dem 
vorliegenden Fall geben sollte). Da wir uns hier in einem MC-Forum 
bewegen, gehe ich mal davon aus, dass wir uns über eine solche Plattform 
unterhalten...

Aber dafür wäre mal interessant, welche Plattform, welcher 
Anwendungsfall?

Uwe

von Thomas (kosmos)


Lesenswert?

um welchen µC geht es oder spricht du von Basic für PC-Prozessoren?

Die ALU eines AVR kann immer nur eine Sache machen, allerdings gibt es 
Bausteine die parallel arbeiten, z.b. Timer, AD-Wandler usw. wenn diese 
fertig sind können sie über einen Interrupt anklopfen das die ALU die 
inzwischen andere Sachen parallel zu den Timer, 
AD-Wandler...abgearbeiten hat sich darum kümmert.

Du könntest aber 2 µC verwenden, der vom ersten gesagt bekommt was er 
machen soll z.B. größere Rechenaufgaben. So das der erste sich um andere 
zeitintensive Dinge kümmern kann, während der 2te µC sich um die 
Berechnung kümmert, wenn er dann fertig ist, meldet er sich beim ersten 
damit dieser weiß jetzt sind die Daten da jetzt kann ich sie abholen ich 
sie ab.

Ich versuche auch immer möglichst viel auszulagern wenn ich schon 
mehrere µC verwenden muss. Zur Zeit baue ich gerade eine LCD Ansteuerung 
da trudeln die Binärdaten per RS232 ein und werden dort erst ins 
passende Werte/Format z.B. 0-1023= -1000mbar - 1500mbar... gewandelt, 
was dem ersten µC dann erspart bleibt.

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.