Timer1 starten und stoppen

Gast #149896
Hallo an alle!

Ich haba folgendes Problem. Ich möchte mit dem Timer1 eine Signallänge
messen und dafür den Timer1 verwenden. Ich sollte möglichst genau sein
bei der Messung, also brauch ich das in 10er wenn nicht sogar in einer
millisekundenschritten. Aber dazu kann man ja den Prescale verwenden.
Nun zu meiner Frage; wie kann man den Timer1 im programm starten,
Stoppen und Vergleichen bzw Auswerten?

Grüsse Andy
Gast #149897
Hi,
wenn du nen AVR meinst und bascom benuzt gibt es statements wie start
timer1 und stop timer1.
Ich habe das mal mit dem Timer0 gemacht um zu messen wie schnell der
adwandler ist.
Millisekunden sind da überhaupt kein problem.
Bei meinem Board nehme ich mit 8mhz und prescale = 8 ganz einfach
millionstel Sekundnen auf.
Du must wohl beachten das start und stop des timers auch einen
Systemtakt brauchen.

Das auslesen ist ebefalls einfach sprich X=timer1 und schon hast du den
zählerstand in der variable.
Und in bascom kann man das dann auch noch sehr einfach simulieren um
szu sehen ob bestimmte werte rauskommen oder nicht.

mfg

Achim
Gast #149898
Ich möchte das ganze für eine DCF-Uhr nehmen. Da will ich die Highzeiten
messen und mit einer Case-abfrage auswerten.
ich dachte mir das so; Highsignal kommt, timer1 wird gestartet, durch
interrupt mit 'falling' wird der timer gestopt, ausgewertet und auf
null gesetzt. Dann, wenn die nächste 'rising' flanke kommt soll er
wieder anfangen zu zählen usw.

ich benutze einen ATMEL-Chip und bascomAVR

Grüsse Andy
Gast #149899
Hi Andy,
hatte das Problem erst neulich.
Timer1 Starten stoppen geht über die Clock Select Bits 0..2
(CS10..CS12) im TCCR1B Register.
Für Details schau bitte ins Datenblatt, weil da steht es detailiert.
Den Timerstand kannst du dann im TCNT1h/l auslesen, ggf. beim Start auf
null setzen.
Das Problem das ich allerdings hatte war, das ich den korrekten Wert
erst bei mind. 2 Auslesevorgängen des TCNT1 Reg. bekam.
Bei einmaligem auslesen der Wert ergab keinen Sinn.
Kann allerdings auch an Bascom liegen, dem ich mit Assembler ein
bischen Beine machen mußte ;-)
Ansonsten müßte es so gehen.

Viel Glück

lg Ralf

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.