-         

Ergebnis 1 bis 7 von 7

Thema: Grundsatzfrage 2 Timer benutzen

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370

    Grundsatzfrage 2 Timer benutzen

    Anzeige

    Hallo,
    ich habe mal wieder eine saublöde frage:
    Ich will in einem programm gleichzeitig 2 timer laufen lassen. der eine tickt alle 560µsec um ein pwm signal auszuwerten, der zweite jede sekunde als timeout. Das programm läuft nur mit timer0 super, nun stelle ich mit die frage, was passiert, wenn beide timer gleichzeitig auslösen würden. wartet dann der zweite, bis der erste fertig ist? (es wird ja wärend eines interrupts normal kein zweiter interrupt ausgelöst)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Ich würd sagen mal ausprobieren. Du kannst ja mal überschlagen nach wieviel Sekunden es das erste mal der Fall wäre.

    Ich bin der Meinung, das solange eine ISR läuft die nächste ISR erst ausgeführt wird wenn die erste fertig ist.
    Die Timer laufen selbstständig, deshalb müsste es theoretisch möglich sein das sie mal gleichzeitig auslösen. Im Gegensatz zum Programm was ja immer nur einen Schritt ausführt. Da wäre es nicht möglich das solche Aktionen gleichzeitig anstehen.

    Soll der erste Timer eine Frequenz messen oder ein PWM erzeugen. Wenn erzeugen würde es keine Probleme geben.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Hallo,
    Wenn sowas passiert hat der zweite Timer pechgehabt, und geht leer aus.
    Er wartet auch nicht, Das ist auch der Grund, warum man die Interruptroutinen kurz halten soll.

    Gruß Sebastian

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Das programm macht nix anderes, als pwm entschlüsseln. (timer0 tau ist ca 560ms der timer läuft mit minimal weniger, glaub ich) timer1 soll einmal die sekunde auslösen und gucken, wenn ein signal innerhalb einer sekunde öfters gefunden wird, soll das einmal die sekunde gecheckt werden. habe jetzt nen counter dazugebaut, der bei 1800 (ca 1 sekunde) nachschaut (nur timer0)

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Hab ich nicht verstanden, sorry.

    Du willst also eine Frequenz messen? Und wenn diese größer als 1Hz ist soll sie erst gemessen werden?

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    ich lese pwm ein,

    jeder high pegel hat andere längen, so werden daten übertragen.
    ich lese diese aus (langer high=1, kurzer high=0)
    werden zwei bytes öfters als 5 mal in einer sekunde übertragen werden, muss was gemacht werden. also schau ich einmal die sekunde nach. so wie ichs gemacht habe, sollte es gehen.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Jetzt kann ich dir folgen. Den Begriff PWM finde ich an dieser Stelle nur etwas unpassend dafür. Aber ichhätte auch kein anderes Wort dafür

    Wie auch immer, mein Segen hast du.

Berechtigungen

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