www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PinAbfrage während der Timer läuft!


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie kann ich folgendes realisieren.

starteTimer
--->
Wenn der Timer nocht nicht beendet und währenddessen eine Lichschranke
ausgelöst wird ,ist die Zeit des Timers egal und das programm läuft
weiter.
Wenn Timer abgelaufen ist dann soll eine Fehlermeldung ausgegeben
werden.

Also nochmal in Worten. Wenn wären der Timer läuft und eine
Lichtschranke aktiv wird soll das Prgramm weiterlaufen. Wenn die Zeit
abgelaufen ist dann soll neh Fehelermeldung ausgegeben werden....Wie
zum Beispiel....warten auf LS hat zu lange gedauert!


Wie geht das...habe schon mit mehren schleifen probiert mir ist aber
keine Lösung eingefallen!
Wollte die zeitbasis vom Overflow Interrupt nehemen

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Program besteht aus 2 Teilen:
Eine Timeroverflow Routine, die Dir einen Zeittakt
zur Verfuegung stellt: Sagen wir mal, Der Overflow
wird alle 1 ms aufgerufen.
Innerhalb der Overflow Funktion zaehlts Du eine (oder
mehrere) Variable(n) hoch, die sowas wie eine Stoppuhr
realisieren. Soweit so gut.

Im Hauptprogram initialisierst Du die Stoppuhr auf 0
und startest eine Warteschleife. Die Schleife
kann auf 2 Arten verlassen werden:
  * entweder ist die Lichtschranke aktiviert worden
  * oder die Zeit ist abgelaufen

in PseudeCode:

   StopCounter = 0;
   Starte den TimerOverflowInterrupt

   while( StopCounter < WaitingTime &&
          Lichtschranke_hat_nicht_ausgeloest ) {
     ; /* Warte */
   }

   if( Lichtschranke_hat_nicht_ausgeloest )
     Gib ne Fehlermeldung aus
   else
     mach weiter mit was anderem

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.