Pages: [1]   Go Down
Author Topic: Zaehler in neuen Prozess überwachen, brauche hilfe  (Read 901 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 13
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Will eine Funktion als Extra Prozess aufrufen, die soll also immer aufgerufen werden unabgängig vom Zykluszeit. In anderen Prog. Sprachen zb. in JAVA kann man es als new Thread() aufrufen.

Frage wie kann ich so was in Arduino machen? Habe bis jetzt keine Library gefunden.

Beispiel:

    // unabhängig von Zyklus zählen
    void zaehler() {
      analog = analogRead(0);
      
      if( analog > 300)
        z++;
    }

    void setup() {
      lcd.begin(2, 16);          
      Serial.begin(9600);
    }


    void loop() {

      // hier kommen noch Funktionen die ca. 50 ms brauchen
     
      lcd.print(z);

    }
    [/list]
    DANKE
    Logged

    Hamburg, Germany
    Offline Offline
    Newbie
    *
    Karma: 0
    Posts: 43
    SNAFU? FUBAR!
    View Profile
    WWW
     Bigger Bigger  Smaller Smaller  Reset Reset

    Hi 2000y,
    schau doch mal im Playground unter
    Protothreading, Timing & Millis, ob du da etwas passendes für dich findest.

    Ich benutze für fast alle meine Projekte die FSM-Library.  

    - Spirou
    Logged

    --
    "All parts should go together without forcing. ...
    If you can't get them together

    0
    Offline Offline
    Newbie
    *
    Karma: 0
    Posts: 13
    Arduino rocks
    View Profile
     Bigger Bigger  Smaller Smaller  Reset Reset

    Spirou - "FSM-Library" blicke ich nicht durch, trotzden DANKE

    Noch jemand eine andere Idee?

    Es muss doch einfach, wie in anderen sprachen, Funktionen aufrufen zu kennen die außer LOOP ständig aufgerufen werden und dadurch die Ereignisse zu registrieren.

     :'(
    Logged

    0
    Offline Offline
    Faraday Member
    **
    Karma: 23
    Posts: 3470
    20 LEDs are enough
    View Profile
    WWW
     Bigger Bigger  Smaller Smaller  Reset Reset

    Spirou hat sehr richtig auf die Timing + Millis Libs hingewiesen. Schau Dir die mal an. Die "Arduino Sprache" ist übrigens C++.

    Gruß, Udo
    Logged

    Check out my experiments http://blog.blinkenlight.net

    0
    Offline Offline
    Newbie
    *
    Karma: 0
    Posts: 13
    Arduino rocks
    View Profile
     Bigger Bigger  Smaller Smaller  Reset Reset

    DANKE...

    habe nur mal gehofft, dass jemand schon so was gemacht hat und helfen kann...  :-/
    bin nämlich unter zeit druck...  :-[

    Logged

    0
    Offline Offline
    Full Member
    ***
    Karma: 1
    Posts: 236
    Arduino rocks
    View Profile
     Bigger Bigger  Smaller Smaller  Reset Reset

    Eben. Haben schon viele.
    So viele, dass einige dazu Bibliotheken geschrieben haben, damit du es einfacher hast.
    Die heißen dann:
    Timing
    Millis

     :smiley




    Ansonsten, für deinen Code:
    wenn du den Zähler immer, wenn analog über 300 ist raufzählst, und diese Abfrage mit nem Affenzahn läuft, dann wird auch der Zähler mitm Affenzahn laufen. Falls du damit meinst:

    "Raufzählen, wenn er 300 übersteigt. Nimmer zählen, bis er wieder drunter ist. Und dann wieder eins drauf, wenn er die 300er Marke übersteigt" dann wird das so nicht laufen.
    Wenn das nen Maß für die Zeit sein sollen, die er über 300 ist, dann ist der Ansatz doch in die richtige Richtung.
    « Last Edit: March 17, 2010, 03:58:38 am by willich » Logged

    Pages: [1]   Go Up
    Jump to: