-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: multitasking für asuro?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    27.09.2008
    Beiträge
    27

    multitasking für asuro?

    Anzeige

    gibt es multitasking für den asuro??

    wenn ja wie kann ich das programieren?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.09.2006
    Alter
    28
    Beiträge
    841
    Blog-Einträge
    1
    wozu brauchst du das?

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    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.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    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.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Suche, suche, ... und sie werden es finden. Da sind 13 (oder 12 plus deine) Threads uber multitasking im Asuro Abteilung alleine.

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von Osser
    Registriert seit
    31.10.2006
    Ort
    Köln
    Alter
    47
    Beiträge
    387
    Hi,

    hatte hier http://www.roboternetz.de/phpBB2/zei...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.

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    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

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    27.09.2008
    Beiträge
    27
    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??

  9. #9
    Erfahrener Benutzer Begeisterter Techniker Avatar von Osser
    Registriert seit
    31.10.2006
    Ort
    Köln
    Alter
    47
    Beiträge
    387
    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.

  10. #10
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    @ 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

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •