www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer1 auslesen wärend Timer1 läuft!!!


Autor: Benjamin Haberbosch (bsoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich will eine Zeit mit dem 8 und 16 bit Timer messen (Atmega8l).
Während der Timer läuft sollen durch Digitalsignale an Eingängen den 
dann in dem Momend gezählen Wert ausgelesen.
Habs eigentlich soweit zum laufen gebracht und habe das ganze mit einer 
Stoppuhr überprüft.
Die Gesamtzeit stimmt doch die abgegriffene Zeit wenn das Digitalsiganl 
kommt nicht!

Kann mir da jemand weiterhelfen?
Kann man überhaupt einen Wert auslesen während der Timer läuft?
Gibt es eine andere Möglichkeit die Werte zu bekommen?

Danke!

MfG

Haberbosch

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benjamin Haberbosch

>Während der Timer läuft sollen durch Digitalsignale an Eingängen den
>dann in dem Momend gezählen Wert ausgelesen.

Das Zauberwort heisst "Input Capture" (ICP).

MfG
Falk



Autor: Mark (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist ICP.

Im Datenblatt zum 18Fxx8 steht zum Beispiel nix darüber.


Greetz M&M

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Im Datenblatt zum 18Fxx8 steht zum Beispiel nix darüber.

Warum sollte dieses die Features eines komplett anderen Controllers 
beschreiben?

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Im Datenblatt zum 18Fxx8 ...

heisst das CCP oder ECCP.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benjamin Haberbosch wrote:

> Die Gesamtzeit stimmt doch die abgegriffene Zeit wenn das Digitalsiganl
> kommt nicht!


Du mußt beide Bytes in der richtigen Reihenfolge auslesen.
Schau mal ins Datenblatt, da ist das erklärt.


Peter

Autor: Benjamin Haberbosch (bsoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab das mit dem ICP irgendwie nicht richtig verstanden!

Ich will mit einem 16 Bit Timer Zählern (CPU-Takt/64) und den dabei 
entstehenden overflow mit einem 8 Bit Counter Zählen.
Das funktioniert richtig gut.
Doch nun wollte ich das Programm erweitern, ein Signal am PINB1 anliegt 
den in dem Moment gezählten Wert auslesen.
Der Timer und Counter sollen jedoch weiterlaufen.
Kann mir dabei der ICP helfen, das ist doch ein eigenener PIN (PINB0) 
den ich gar nicht beschaltet habe.
Gibt es eine andere Möglichkeit mit der Einstellung und Belegung die 
Werte auszulesen mit laufendem Timer?

Danke!

MfG

Haberbosch

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ICP hilft nur dann, wenn Du exakt auf den Zyklus genau sein mußt 
oder lange Zeiten mit Interruptsperre hast.

Ansonsten geht natürlich auch ein externer Interrupt oder Polling und 
dann den Timer auslesen.

Wird der Timer in Software erweitert, mußt Du beim Auslesen darauf 
achten, daß der Übertrag auch ausgewertet wird.


Peter

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es denn, wenn du statt dem zweiten 8 Bit Counter einfach ein 
unsigned char nimmst und den bei einem Overflow vom 16 Bit Timer erhöhst 
(Overflow Interrupt). Für den Portpin aktivierst du ebenfalls den 
Interrupt und wenn der ansteht kannst du ja innerhalb der 
Interruptroutine den Wert der Variablen auslesen.

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.