AVR: Timer0 + Timer 1

Gast #799790
Lesenswert?
• ▲
▼
Hi Leute,
ich wollte Timer0 in kombination mit Timer1 laufen lassen. Dabei 
representiert Timer0 die Abtastzeit und Timer1 zählt die Anzahl der 
Punkt.
Dafür habe ich den Timer1 Prescaler auf extern gestellt und beim Timer0 
den Pin für CMP-Reg-A auf Toggeln gestellt und dann mit dem Eingang vom 
Timer1 verbunden.

Was hat geklapt: Timer0 läuft einwandfrei (gemessen mit Oszi) und in der 
Simulation mit AVR Studio lief es auch (Timer1 Takt manuel eingegeben).

Problem: Der Timer1 reagiert nicht auf den externen Signal.

CHIP: Atmega 168 + STK500

Frage: Geht das überhaupt und wenn ja auf was muss ich achten oder wie 
sollte ich es am besten angehen?

Danke im vorraus
Gast #799937
Lesenswert?
• ▲
▼
Ich will den Spannungen mit dem AD-Wandler messen. Dabei möchte ich die 
Abtastzeit und die Anzahl der Messungen einstellen können.
Da dachte ich mir ich benutze Timer0 für die Abtastzeit und Timer1 zum 
zählen der Wandlungen.
Gast #799941
Lesenswert?
• ▲
▼
Achso, ich weiss ,das man das Zählen auch mit einem Register durch 
führen kann. Aber wenn ich schon einen Timer frei habe warum nicht 
nutzen und ich finde es eleganter. Ausser dem verstehe ich nicht, warum 
es nicht klappen sollte.
#799993
Lesenswert?
• ▲
▼
Anfänger wrote:
> Achso, ich weiss ,das man das Zählen auch mit einem Register durch
> führen kann. Aber wenn ich schon einen Timer frei habe warum nicht
> nutzen und ich finde es eleganter.

Nö, es ist sogar ziemlich von hinten durch die Brust ins Auge.


Wie willst Du denn den Zählimpuls am Timereingang erzeugen?

Du wirst ja wohl einen Interrupthandler haben, der den ADC ausliest und 
dann ist es ja wohl ein Klacks, noch ne Variable hoch zu zählen.


Peter
Gast #800953
Lesenswert?
• ▲
▼
Hi,
zur Zeit läuft es mit einem Register den ich hoch zähle. Ok eleganter 
ist es vieleicht nicht.
Aber ich dachte mir, ich habe einen Timer noch frei, warum nicht nutzen 
-> kann ja ich gleich was dazu lernen.

Der Timer 1 kann als Takteingang einen externen Takt benutzen und mit 
Hilfe des Comperators vom Timer0 kann ich einen Takt erzeugen.
Wenn ich jetzt den Comperatorausgang mit einem Kabel an den externen 
Timer1-Takteingang anlege sollte es doch klappen (so war die Idee). Die 
Frage ist also wie bekomme ich den Timer1 dazu auf einen externen Takt 
zu reagiern. Nach Doku muss ich den Prescale auf extern Takt einstellen 
(ragiert auf steigende und fallende Pegeln).-> habs gemacht

Mir geht es dabei um das Verständnis, ich glaube es müsste klappen und 
die Frage ist jetzt nur wie. (Glaube alles so zumachen wie es in der 
Doku steht)

@ Peter Dannegger: ich erzeuge den Zählimpuls mit Hilfe von Timer0 und 
seinen Komperator A. Dabei repräsentiert der Wert im Komperatorregister 
A den Maximalwert vom Timer0 und bei jedem Überlauf wird der Ausgangs 
Pin, für Komperator A, getoggelt. Wenn man jetzt den Timer1 auf externen 
Takt legt und den Pin vom KompertorA mit ihm verbindet müsste es doch 
klappen, oder?

Also ich danke für eure hilfe,
könnt ihr mir auch sagen warum es nicht klappt oder wie es klappen 
könnte?
Gast #801032
Lesenswert?
• ▲
▼
Nein, finde ich nicht. Im Programm  benutze ich ja auch 'inc i' statt 
einen Timer. Darum ging es mir nicht, nach der Doku müsste meine Idee 
funktionieren und ich möchte nur es zum laufen bringen. Achso, ich löte 
nichts zusammen ich benutze einen STK500 und das mit den beiden Timern 
ist nur zur Testzwecken. Die Richtigeanwendung wird  Morgen getestet und 
sollte schon laufen. Naja sollte, man weiss ja nie was passiert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.