www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit Timern auf Atmel Mega8L (Asuro)


Autor: Thomas Berntz (thomasonfire)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe wichtige Frage zu den Timern auf dem Asuro. Bin 
fortgeschrittener Anfänger.

Ich will eine Zeit mit möglichst genauer Auflösung stoppen (Prescaler 1) 
und die maximal zu messende Zeit liegt bei 318 ys (mikrosekunden), also 
wenn er länge läuft und noch nicht gestoppt wurde, dann kann er auch mit 
dem zählen aufhören oder so.

1. Frage:
Welchen Timer kann/darf ich hernehmen? ich würde gerne den 16-bit timer 
(t1) hernehmen, weil der länger laufen kann und man so keine Variable 
hochzählen muss (was wieder die zeit ungenauer macht).

2. Frage:
Warum kommen scheinbar zufällige Werte (zwischen 8 und 45) hier als 
Ergebnis raus?
TCCR0 &= ~(1<<CS02 | 1<<CS01 | 1<<CS00); //Timer0 stoppen (vorsichtshalber)
TCNT0=0; //Timer0 zurücksetzen
TCCR0 |= (1<<CS00); //Starte Timer0
Sleep(123); //Irgendeine Zeit warten
TCCR0 &= ~(1<<CS00); //Stoppe Timer

jetzt müsste man am besten noch einstellen, dass das Programm einen 
Interrupt macht, wo eine Variable bei jedem Timerüberlauf hochgezählt 
wird. Weiß leider nicht wie Interrupt Service Routinen bei AVR 
funktionieren.
zeit = TCNT0; (Zeit auslesen)

Naja falls jemand einen Fehler findet oder mir irgendwie weiterhelfen 
kann. Würd mich über Antworten freuen.

Gruß Thomas

PS: Datenblatt ist hier: 
http://www.atmel.com/dyn/resources/prod_documents/... falls es 
sich jemand anschauen mag.

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.