Timer2 Berechnen

Gast #1411878
Lesenswert?

ah, ok doch, geht nicht. habs gerade kappiert. aber noch was anderes zum 
Timer2. In der CCS Hilfe steht folgendes:
setup_timer_2(T2_DIV_BY_4,0xc0,2);
Prescaler ist 4
Postscaler ist 2
Aber was ist das dazwischen?
Gast #1411915
Lesenswert?

Das wird der Wert sein, der in PR2 geschrieben wird.

Da wie schon gesagt wurde Timer2 zu klein ist um aus 20MHz Systemtakt 
100Hz Interrupttakt zu machen, wirst du nicht darum herumkommen, mit dem 
Vor/Nachteiler etwas herumzuspielen, damit du in der Interruptroutine 
per Softwarezähler auf 100Hz kommst.
Gast #1647245
Lesenswert?

Hallo!

Ich weiß, dass dieser Beitrag schon (sehr) alt ist, aber um der 
Richtigkeit genüge zu tun behaupte ich, dass mit 20MHz Systemtakt sehr 
wohl ein 100Hz (wenn auch nicht 100% genau) Interrupt durch den Timer 2 
eines PICs möglich ist.

Wie schon richtig erwähnt worden ist, wird der Timer mit FOsc/4 = 5MHz 
getaktet.
Allerdings besitzt der Timer 2 in Prescaler als auch Postscaler.

Einstellungen:
Prescaler: 1:16
Postscaler: 1:13
PR2 Register: 240

Ergibt:
5000000Hz/16/13/240 = 100,16026 Hz
Bei PR2 = 241
5000000Hz/16/13/241 = 99,74465Hz

Im Grunde stimmt die Aussage, dass keine GENAUEN 100Hz eingestellt 
werden können, allerdings ist die Aussage falsch, dass der Timer2 dazu 
zu schnell ist. (holger hat das in seinem Post richtig erkannt und das 
stimmt auch so)

Wollte das nur richtigstellen, damit "Anfänger" nach Ihren Berechnungen 
nicht verwirrt sind;)

MfG
Darkleon

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