mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega88 16Bit Timer


Autor: Holger P. (holg_i)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich suche mich gerade schon einwenig tot. Ich suche das Register in 
welchem der Wert des 16-Bit timers steht. Er zählt doch immer um 1 hoch. 
Welches register zählt er immer um 1 hoch?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TCNT1

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TCNT1

Autor: Holger P. (holg_i)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich danke euch. Meie güte da ist ja extra eine Uhr davor in AVR Studio 
und warum habe ich es nicht gefunden. DANKE

Autor: Holger P. (holg_i)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber gleich noch eine Frage hinter her. Darf ich das Register nicht 
beschreiben?

Autor: Holger P. (holg_i)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon gut hat sich erledigt. Man darf es :-)

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du darfst TCNT1 auch beschreiben. Du solltest aber darauf achten wie, 
wenn der Timer1 läuft. Stichwort atomarer Zugriff in Interrupt 
nachlesen.

Autor: Holger P. (holg_i)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe folgendes vor:

Ich möchte ein Timer laufen lassen. Nun doch ein 8-Bit Timer.
Immer wenn ein INT0 ausgelöst wird möchte ich schauen welcher Wert im 
8-Bit Timer steht um daraus zu errechnen wie lange es her ist seit dem 
der letzte INT0 ausgelöst wurde. Deswegen müsste ich das 8-Bit Timer 
Register wieder auf 1 schreiben.

So denke ich mir müsste ich doch immer herrausbekommen wieviel Zeit 
vergangen ist zwischen den Interrups. Ende des ganzen soll eine 
Frequenzmessung werden.

Ich möchte das Rad neu erfinden damit ich etwas lernen. Es geht mir nur 
um lernprozesse :-)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Holger P. (holg_i)

>Immer wenn ein INT0 ausgelöst wird möchte ich schauen welcher Wert im
>8-Bit Timer steht um daraus zu errechnen wie lange es her ist seit dem
>der letzte INT0 ausgelöst wurde. Deswegen müsste ich das 8-Bit Timer
>Register wieder auf 1 schreiben.

Nöö, du musst nur die Differenz zum letzten Wert bilden, da funktioniert 
sogar mit Überlauf. Lediglih darf die Zeit nicht größer als 256 
Timertakte werden.

>vergangen ist zwischen den Interrups. Ende des ganzen soll eine
>Frequenzmessung werden.

Schön, das was du da beschreibst ist aber eine Periodendauermessung, die 
man bei relativ langsamen Signalen mache. Die Input Capture Funktion von 
imer 1 ist da sehr nützlich.

>Ich möchte das Rad neu erfinden damit ich etwas lernen. Es geht mir nur
>um lernprozesse :-)

Dann googele mal danach bzw. such im Forum, da ist das Thema schon oft 
durchgekaut worden.

MFg
Falk

Autor: Holger P. (holg_i)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ganz verstehe ich noch nicht warum ich falsche denke. Aber das wird 
sich heraus stellen wenn ich den falschen weg gegangen bin. Wie getippt 
lernen ist das Ziel.

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.