mikrocontroller.net

Forum: Compiler & IDEs how 2 timer ?!?


Autor: John Doe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

hab da ein kleines problem:

system: at90s2313 und avr-gcc

sofern an pin int0 fallende flanke kommt möchte per interrupt eine
funktion starten die:

- alle interrupts erstmal ausmacht
- den 16bit timer startet (ck/64)
- bei einer fallenden flanke an pin int1 den timer stoppt und ich den
wert dann zur weiterverarbeitung auslesen kann (kein interrupt!)

sofern mir einer einen tip bzw. codeschnippsel geben kann wäre mir sehr
geholfen...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- alle interrupts erstmal ausmacht

Warum ?

- den 16bit timer startet (ck/64)

o.k.

- bei einer fallenden flanke an pin int1 den timer stoppt und ich den
wert dann zur weiterverarbeitung auslesen kann (kein interrupt!)

Warum nicht ?


Wo liegt denn nun Dein Problem und was hat das ganze mit 2 Timern zu
tun ?


Peter

Autor: John Doe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- hat nichts mit zwei timern zu tun. möchte einfach nur eine zeitmessung
starten und wieder beenden.

problem: zwei lichtschranken an int0 und int1.

-signal an int0 startet zeitmessung (interrupt)
-signal an int1 beendet zeitmessung (fragt pin ab bis signal)
-kurze pause und wieder warten auf signal an int0

warum kein interrupt bei int1 -> es soll nichts gemacht werden solang
zeitmessung. meine main() versorgt das anzeigemodul.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast aber immer noch nicht gesagt, bei welchem Punkt Du Probleme
hast.

Oder erwartest Du etwa, daß Dir einer das komplette Programm schreibt
?


Ein Tip:

Entweder Du machst beides (Start+Stop) im Interrupt oder beides im
Polling. Gemischt ergibt das keinen Sinn.

Auch könnte ein Timerinterrupt sinnvoll sein, um zu lange Zeiten zu
erkennen.


Peter

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.