Schnellster Timer eines Atmega644P

Gast #1975528
Lesenswert?

Hiho,

ich bin gerade am Verzweifeln, mit Timern mal wieder, und finde den 
Ansatz wirklich nicht.

Die Timer beim Atmega64 sind ja nun mittlerweile so verschachtelt das 
man im Datenblatt den Wald vor lauter Bäumen nicht findet :/

Ich möchte eigentlich die schnellste Möglichkeit haben einen Timer in 
mein Programm zu implementieren. Ich dachte eigentlich an einen 8 Bit 
TimerOverflow ohne Prescaler. Jedoch bekomme ich da ja auch bloß alle 
1024 Zyklen einen Interrupt.

Wo fange ich da am dümmsten an?!
#1975535
Lesenswert?

Rubelus schrieb:
> Hiho,
>
> ich bin gerade am Verzweifeln, mit Timern mal wieder, und finde den
> Ansatz wirklich nicht.
>
> Die Timer beim Atmega64 sind ja nun mittlerweile so verschachtelt das
> man im Datenblatt den Wald vor lauter Bäumen nicht findet :/
>
> Ich möchte eigentlich die schnellste Möglichkeit haben einen Timer in
> mein Programm zu implementieren. Ich dachte eigentlich an einen 8 Bit
> TimerOverflow ohne Prescaler. Jedoch bekomme ich da ja auch bloß alle
> 1024 Zyklen einen Interrupt.
>
> Wo fange ich da am dümmsten an?!

Don't take it offensive :)

Hier:

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Timer
#1975555
Lesenswert?

8bit 1024 Zyklen ? Hmmm, Wie geht das? :) Sind es nicht 256 Zyklen ?

Wenn Du schneller eine Interrupt ausloesen moechtest als es der 
UEberlauf des Counters bietet (256 Zyklen beim 8 bit Counter) solltest 
Du Dir im Datenblatt mal den CTC Mode ansehen. (Datenblatt Seite 98)

MfG,

Balze aka AVR Noob
#1976788
Lesenswert?

Avr Noob schrieb:
> Und wie gross ist der Overhead der ISR? Wieviele Zyklen bleiben um
> selbst etwas zu tun (und was kann das in den verbleibenden Zyklen sein)
> ?

Eine schlanke ISR dauert etwa 100 Zyklen (keine Unterfunktionsaufrufe).
Man kann aber auch leicht über 1000 Zyklen verbrauchen, wenn man nicht 
aufpaßt, was man alles in die ISR packt.

Ein Timeroverflow alle 256 Zyklen ohne Prescaler ist also schon ne 
heftige Interruptlast.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren