Forum: Mikrocontroller und Digitale Elektronik CTC-Timer eines Attiny's


von Hans-Jörg (Gast)


Lesenswert?

Hallo,

Ich habe die Funktionsweise eines CTC-Modes nicht verstanden.
Kann mir das bitte jemand kurz und knackig erklären.

von Johannes M. (johnny-m)


Lesenswert?

-- Timer fängt bei 0 an, zu zählen
-- Timer erreicht Wert, der in OCRxy eingestellt ist
-- Beim darauf folgenden Takt wird der Timer auf Null zurückgesetzt und 
es geht wieder von vorne los.

War das "knackig" genug?

von Hannes Lux (Gast)


Lesenswert?

Ich habe gerade im Datenblatt eines Tinys (Tiny12) nachgesehen und 
nichts über den CTC-Mode gefunden. Also gibt es ihn auch nicht.

Oder meinst Du einen speziellen AVR der Tiny-Serie? - Denn nenne ihn 
bitte! Denn die Ausstattung der verschiedenen AVRs mit Features ist 
dermaßen unterschiedlich, dass es keine allgemeingültige Erklärung "kurz 
& knackig" geben kann.

...

von MWS (Gast)


Lesenswert?

Naja, CTC bedeutet bei Atmel Clear Timer on Compare Match, für 
Englischsprachige bereits selbsterklärend, und verhält sich bei den 
Atmels m.W. überall gleich. Manche Atmels mögen keinen CTC Mode haben, 
aber wo's ihn gibt funktioniert er wie bereits von Johannes beschrieben.

von Hannes Lux (Gast)


Lesenswert?

> Manche Atmels mögen keinen CTC Mode haben,

Stimmt, die AT24xyz haben glaube keinen. Das sind doch "Atmels", oder?

Mein Beitrag hatte den Sinn, darzustellen, wie unsinnig die coolen 
Begriffe wie "Tiny's", "Megas", "Atmels" eigentlich sind. Wenn man das 
Ding beim Namen nennt, bekommt man mit Sicherheit eine bessere Antwort.

...

von MWS (Gast)


Lesenswert?

Ja, schon verstanden. Jedoch hatte der OP im Gegensatz zu einigen 
anderen Fragestellern nicht den Eindruck gemacht, überhaupt keinen Plan 
zu haben dafür aber wichtig zu tun.

Für mich hatte sich die Frage wie eine ganz normale legitime Frage 
angehört. Der Tiny13 hat einen CTC.

Wenn Du es als Aufgabe siehst Poster, die unspezifische Fragen stellen 
zu ermahnen, dann hast Du hier im Forum 'nen Fulltimejob :-)

von Hannes Lux (Gast)


Lesenswert?

> dann hast Du hier im Forum 'nen Fulltimejob :-)

Deshalb mache ich es auch nur gelegentlich. ;-)

Bei einer konkreten Frage (Angabe welcher ATTiny gemeint ist) hätte ich 
vermutlich noch auf verschiedene Formen von CTC hingewiesen (über OCR1A 
bzw. ICR1), aber bei solch schwammig gestellten Fragen hält sich meine 
Hilfsbereitschaft dann doch in Grenzen.

...

von Hans-Jörg (Gast)


Lesenswert?

Aber hallo, wie gehts denn hier ab.

Also, die Frage richtet sich nach dem Tiny25, Timer1.
Aber wenn ich das Datenblatt richtig verstanden habe (mein Englisch ist 
nicht gerade so brickelnd) unterstütz nur Timer 0 den CTC Mode. Richtig?

Das wäre wiederum schlecht, weil ich den Prescaler 2048 brauche.

Noch ne kurze Frage (ich hoffe konkret genug):

-- Beim darauf folgenden Takt wird der Timer auf Null zurückgesetzt und
   es geht wieder von vorne los.

Ich vermute mall hier wird dann ein Interupt ausgelöst?

von Johannes M. (johnny-m)


Lesenswert?

Hans-Jörg wrote:
> Ich vermute mall hier wird dann ein Interupt ausgelöst?
Es wird ein Interrupt-Flag gesetzt. Ob das zur Auslösung eines 
Interrupts führt, hängt davon ab, ob der Interrupt freigegeben ist.

Abgesehen davon finden an dieser Stelle auch eventuell konfigurierte 
Portpinumschaltungsvorgänge statt.

von Hans-Jörg (Gast)


Lesenswert?

Auch für diesen Beitrag ein herzliches Dankeschön.

Jetzt fehlt mir nur noch die Antwort ob Timer 1 den CTC-Mode unterstütz?

Und ich glaube dann kom ich selber weiter..

von Gast (Gast)


Lesenswert?

>Ich vermute mall hier wird dann ein Interupt ausgelöst?

Nicht, wenn Du nicht willst.

von Hans-Jörg (Gast)


Lesenswert?

Ich glaube ich habs gefunden:
Ich muss im Register TCCR1 Bit7 setzten um den Modus zu aktivieren.
Richtig?

von Gast (Gast)


Lesenswert?

>...ob Timer 1 den CTC-Mode unterstütz?

Ja. Register summary ganz hinten im Datenblatt: Bit CTC1 im Register 
TCCR1. Für detaillierte Infos folge den dortigen Links auf die Seiten 92 
und 103.

von MWS (Gast)


Lesenswert?

"Das wäre Ihre Preis gewesen :-)"

>>Aber hallo, wie gehts denn hier ab.<<

Das ist ja das Unterhaltsame, daß sich Diskussionen hier ab und zu nicht 
im Sinne des OP's entwickeln :D

Nicht richtig, Seite 103,15.3.1:

• Bit 7- CTC1 : Clear Timer/Counter on Compare Match
When the CTC1 control bit is set (one), Timer/Counter1 is reset to $00 
in the CPU clock cycle after a compare match with OCR1A register. If the 
control bit is cleared, Timer/Counter1 continues counting and is 
unaffected by a compare match.

von Hannes Lux (Gast)


Lesenswert?

> Aber hallo, wie gehts denn hier ab.

Wie man in den Wald hineinruft, so schallt es auch wieder heraus...

Stelle konkrete Fragen, dann passiert sowas nicht. Oftmals ergibt sich 
die Lösung von selbst, wenn man versucht, die Frage konkret zu stellen.

Schlechte Englisch-Kenntnisse sind keine Ausrede, ich hatte auch nie 
Englisch-Unterricht. Mit Hilfe eines Wörterbuches ist das eine reine 
Fleißarbeit, und ohne Fleiß kein Preis.

...

von Kardinal Fehler (Gast)


Lesenswert?

Mein lieber Mann! Manche Menschen wollen wohl hier nur ihren
persönlichen Frust ablassen, geben aber mit ihren sinnleeren
Postings Null Hilfe.

Ich lese nur still mit, aber da vergeht einem selbst das Lesen.

Kardinal Fehler

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.