- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Viele Aufgaben gleichzeitig machen

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    33
    Beiträge
    460
    Anzeige

    LiFePo4 Akku selber bauen - Video
    ja ich weiß, sorry war schlecht formuliert.
    Ich wollte sagen:

    Wenn ich aber 80ms nicht das machen will, was in den Klammern steht, dann das in den klammern abarbeiten, was ca. 0,5ms dauert, und dann wieder 80ms lang die Klammer überspringen will.
    Ich weiß ja nicht wie lange das abarbeiten dauert, 0,5ms sind nur geschätzt.

    lg Christoph

  2. #12
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Das Problem das du jetzt hast, ist mir nicht klar. Riesenlange Funktionen stören natürlich.
    In 10msec machst du bei 8MHz Takt immer noch 80000 Programmschritte. Da kannst du eine Menge abarbeiten.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    33
    Beiträge
    460
    immer wenn ich jetzt "warte" schreibe, meine ich nicht nix tun wie in einer _delay_ms funktion, sonder was anderes tun, zB fahren, andere entfernungswerte abarbeiten, geschwindigkeiten berechnen, usw...

    - Nachdem ich den Befehl zum drehen gegeben habe, warte ich bis die neue position erreicht ist
    - dann warte ich 80ms
    - dann lese ich den AD-wert ein und berechne die entfernung (dauert angenommen 1ms)
    - dann arbeite ich das restliche programm ab (i2c ausgaben, eingaben, fahren, andere entfernungswerte abarbeiten, geschwindigkeiten berechnen, usw...)
    Das dauert vll auch ein paar ms.
    Dann ist der zaehler sagen wir bei 85.

    - es wird wieder der Befehl zum drehen gegeben
    - es wird gewartet, bis die position erreicht ist (ca. 100ms)
    Der zaehler ist beim wert 185.

    - jetzt sollte er 80ms warten, das tut er aber nicht, weil die Abfrage lautet:

    if(Zähler >=80)
    { lese AD-wert ein und berechne entfernung
    }

    ...und zähler ist bei 185, also >=80
    er liest also gleich den neuen AD-wert ein, obwohl er 80 ms warten sollte.

    lg Christoph

  4. #14
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Naja, so geht es natürlich nicht,
    if(Zähler >=80)
    { lese AD-wert ein und berechne entfernung
    Zähler = 0;
    }
    Dieses Zähler=0; gehört natürlich auch da hinein, war für mich aber selbstverständlich.
    Genau so wie du ein Flag zurücksetzen musst, wenn es abgerufen wird.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    33
    Beiträge
    460
    ahh ja stimmt sorry ich war wohl gestern ein bischen gestört...

    lg christoph

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests