Forum: Compiler & IDEs Timer des AVR frage zum Prescaler


von Cyb3r (Gast)


Lesenswert?

Hallo kann ich den Prescaler nur auf 8, 64, 128..
setzen?
oder darf ich ihn auch auf z.B. 16 setzen?

Folgendes: ich habe eine ATMEGA8 und möchte nun zum erstenmal mit einem 
Timer arbeiten. Ich bin gerade dabei ein Schrittmotorsteuerung für 4 
Motoren über den I2C Bus und IO Expander zuschreiben.
Also dass auch alle Motoren gleichzeitig gesteuert werden können.
So nun habe ich einen Takt von 16Mhz und wollte eigl meine 
Interruptroutine alle 5ms aufrufen -.-

Wer kann mir weiterhelfen

von Cyb3r (Gast)


Lesenswert?

und dem 16Bit Timer check ich nicht soganz da kann ich ja noch mehr 
einstellen richtig?

Komme ich damit auf 5 oder 6ms Overflow?

von Michael U. (amiga)


Lesenswert?

Hallo,

Cyb3r schrieb:
> Hallo kann ich den Prescaler nur auf 8, 64, 128..
> setzen?
> oder darf ich ihn auch auf z.B. 16 setzen?

Das sagt Dir das Datenblatt zum entsprechenden Timer des entsprechenden 
AVR.
Hängt davon ab, was Atmel als Teilerverhältnisse in die Hardware 
eingebaut hat...

>
> Folgendes: ich habe eine ATMEGA8 und möchte nun zum erstenmal mit einem
> Timer arbeiten. Ich bin gerade dabei ein Schrittmotorsteuerung für 4
> Motoren über den I2C Bus und IO Expander zuschreiben.
> Also dass auch alle Motoren gleichzeitig gesteuert werden können.
> So nun habe ich einen Takt von 16Mhz und wollte eigl meine
> Interruptroutine alle 5ms aufrufen -.-

Hmm, 5ms sind bei mir bei 62,5ns Zykluszeit bei  16MHz ein Teiler von 
80000.

Wäre also bei einem 8Bit-Timer z.B. Prescaler 128 und Compare 624 im 
CTC-Mode als Beispiel.

Gruß aus Berlin
Michael

von Cyb3r (Gast)


Lesenswert?

Ok alles bestens jetzt

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.