-
-
Neuer Benutzer
Öfters hier
multitasking für asuro?
gibt es multitasking für den asuro??
wenn ja wie kann ich das programieren?
-
Erfahrener Benutzer
Roboter Genie
-
Erfahrener Benutzer
Robotik Visionär
Klassisches Multitasking ist beim µC eher weniger üblich. Meistens geht es ohnehin darum auf Sensoren zu reagieren. Dann bietet es sich an interrupts zu verwenden, ggf. auch einen Timer Interrut, wenn der Sensor selbst keinen Interrupt auslösen kann.
-
Erfahrener Benutzer
Roboter Genie
Multitasking ist eine Eigenschaft eines Betriebssystems, d.h. einer Software, um eine Hardware, die das nicht kann, anscheinend mit dieser Fähigkeit auszustatten.
Das bedeutet: Der Asuro kann das noch lange nicht, sofern Du den Hardwareteil des Asuros meinst. Die Frage müsste genauer lauten: "Hat schon jemand ein Multitaskingsystem auf dem Asuro realisiert und würde mir die Sourcen geben?"
Das Problem am Multitasking ist, dass man gleich von Tasks, also Prozessen, spricht. Das gibt es aber in dieser Form nicht auf einem µC, so dass das Prinzip des Multitaskings sofort hinfällig ist.
Etwas Ähnliches könnte man aber mit etwas trickreicher Programmierung realisieren. Aber das ist meines Erachtens bei einem µC unnötig. Um mehrere Abläufe auf einem µC zu parallelisieren (also Multitasking zu betreiben), gibt einem die Hardware genug Möglichkeiten (Timer, Interrupts) an die Hand.
Versuche einfach, Deine Vorhaben auf Hardwareebene mit geschickter Programmierung umzusetzen. Denn ein echtes in Software realisiertes Multitasking bedeutet automatisch einen großen Performanceverlust auf einem µC.
-
Erfahrener Benutzer
Roboter Genie
Suche, suche, ... und sie werden es finden. Da sind 13 (oder 12 plus deine) Threads uber multitasking im Asuro Abteilung alleine.
-
Erfahrener Benutzer
Begeisterter Techniker
Hi,
hatte hier https://www.roboternetz.de/phpBB2/ze...27463&start=22 mal ein kleines MT Framework aufgesetzt um mehrere Tasks parallel abarbeiten zu lassen. Ist noch nicht ganz ausgereift aber geht für Testzwecke schon ganz ordentlich.
Gruss,
O.
-
Erfahrener Benutzer
Lebende Robotik Legende
Hallo!
Multitasking mit paralell laufenden Tasks ist bei nur einem Prozessor nicht möglich. Die einzelnen Tasks können nur nacheinander laufen. Wenn alle Unterprogramme sehr kurze Ausführungszeit haben, scheint es für einen Beobachter gleichzeitig zu sein. Paralell zum Programm können in einem µC nur Timer laufen.
MfG
-
Neuer Benutzer
Öfters hier
ich brauche das multitasking...
ich habe ein programm... da fährt mein asuro ca. 15 secunden grade aus... und ich möchte in einem 2ten task die taster abfragen... weil der asuro könnte ja nur vor und nach den 15 sec die tasten abfragen...
wie kann ich das so programmieren das die taster gleichzeitig abgefargt werden??
-
Erfahrener Benutzer
Begeisterter Techniker
Hi PICture,
Du hast natürlich Recht! Wollte in dem Zusammenhang lediglich meine Antwort nicht überfrachten mit Informationen die Ihm nicht weiter helfen.
Mein Projekt realisiert ein preemptives Multi-Tasking das parallel 1..n Tasks laufen lassen kann. Somit kann z.B. der Asuro im 1. Task angewiesen werden um geradeaus zu fahren, im 2. Task wird der Schalter geprüft und im 3. Task wird Ausgeführt was durch Task 1 und 2 festgelegt wurde.
Ein Task entspricht hierbei einer Funktion, die in einer Endlosschleife läuft, ganz einfach also.
O.
-
Erfahrener Benutzer
Lebende Robotik Legende
@ Osser
Das ist natürlch die einfachste Möglichkeit.
@ Matze 3
Ich kenne dein bisheriges Programm nicht, aber am einfachsten wäre in gleichen Zeitabständen, die z.B. durch ein Timerinterrupts festgelegt sind, den Strom der Motoren für Abfrage den Tastern unterbrechen.
Wenn ein Taster z.B. ca. 10ms (mit Entprellung) fürs Abfragen benötigt und die z.B. 5 Taster nacheinander in gleichen Zeitabständen z.B. 200 ms abgefragt werden, wird sich der mittlere Strom der Motoren nur um 5 % (5 x 10 ms / 5 x 200 ms) verringern, was die Motoren praktisch nicht verlangsamen würde und nicht bemerkbar wird. Das ist nur meine Idee, wie ich es machen würde und du kannst dir das geneuer durchdenken und ausrechnen.
MfG
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen