www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer2 ohne Interrupt 16 Bit Zahl


Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich erfasse mit Timer0 die Zeit zwischen zwei High Flanken mit einem 
Interrupt der dann bei Timer0überlauf eine Varable hochzält.
Der wert aus dem Timer Register und der Variablen ergeben dann das 
Ergebniss.
Dann muß ich aber in einem anderen Interrupt genau diese Zeit 
"wiedergeben"
Port C1 an Zeit Port C1 aus das aber auch mit Timer0 ohne Interrupt und 
als 16 Bit Wert und das möglichst ganau. Momantan habe ich bei 16Mhz 
Taktfrequenz eine Abweichung von ca. 15 uS zum geforderten wert die 
Abweichung wird umso grösser je grösser der am anfang erfasste Wert ist.
Was sollte ich anders machen?

hier der betreffende Code:
VZ:           lds  tempH,vorzeitH
Ltime13:      lds  tempL,vorzeitL
vzeit23:      out  OCR2,templ        ;Timer mit Match L Wert laden
        clr  templ
        out  TCNT2,templ       ; 
    

wtt:          ldi  tempL, (0<<CS22)|(0<<CS21)|(1<<CS20)
        out  TCCR2, tempL          ; Timer Start nach Match wieder von vorn
vzeit33:      in   templ,TIFR
        andi templ,0b10000000
        sbrs templ,OCF2             ;OCF0
        rjmp vzeit33
        ori  templ,(1<<OCF2)     
        out  TIFR,templ
        cpi  temph,0
        breq out_tim03
        ldi  templ,0xff
        dec  temph
        rjmp vzeit23
out_tim03:    ldi  tempL, (0<<CS22)|(0<<CS21)|(0<<CS20) ; Timer Stop
        out  TCCR2, templ 

Mfg
René

Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timer2 nicht Timer0

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ René Schink (rene66)

>Dann muß ich aber in einem anderen Interrupt genau diese Zeit
>"wiedergeben"

na dann mach das doch einfach über Variablen im RAM.

>Port C1 an Zeit Port C1 aus das aber auch mit Timer0 ohne Interrupt und
>als 16 Bit Wert und das möglichst ganau. Momantan habe ich bei 16Mhz

Hää?
Formulier das mal sinnvoll.

Forum-Fragenformulierung

MFG
Falk

Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Sorry habe mein Problem dann doch mit einem IR und einer Variablen 
gelöst.

Mfg

René

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.