Forum: Mikrocontroller und Digitale Elektronik Timingproblem ATmega168


von Philipp (Gast)


Lesenswert?

Hallo,

hab ein Problem mit meinem ATmega168. Clock ist eingestellt auf internen 
8MHz Clock. Jetzt möchte ich ein 38kHz Rechtecksignal erzeugen. Dazu 
mache ich jetzt folgendes:

Timer1 wird eingestellt auf:

Clock Source clk/1
Modus auf "clear on compare match"
OC1A toggle on compare match

Dann noch in OCR1A den entspechenden Wert eingestellt (nach Datenblatt):

OCR1A = fclk/2foc1a -1 = 104

Mit dem Wert komme ich aber nicht auf 38kHz. Um 38kHz zu erreichen muss 
ich 82 ins Register laden. Kann mir jemand erklären wieso ?


Danke...

Gruß
Philipp

von Andreas K. (a-k)


Lesenswert?

OSCCAL vergessen? Die internen 8MHz sind nicht unbedingt 8MHz.

von Philipp (Gast)


Lesenswert?

Hallo,

danke für deine Antwort, aber...

hab ich auch schon getestet, macht allerdings fast keinen Unterschied. 
82 zu 104 sind ja immerhin 80%. Ich denke nicht dass man den internen 
Quarz derart verbiegen kann, oder ?

Gruß
Philipp

von Willi W. (williwacker)


Lesenswert?

der dinger hat keinen internen quarz, sondern nur ein RC-Glied

von Andreas K. (a-k)


Lesenswert?

Ich bin bei einem Tiny45 per OSCCAL um Faktor 2 rauf und runter.

von Frank J. (frajo)


Lesenswert?

Andreas Kaiser wrote:
> Ich bin bei einem Tiny45 per OSCCAL um Faktor 2 rauf und runter.

4 bis 16 MHz??
Hier wurde der 8 MHz der Butterfly auf 7.3728 MHz getrimmt wegen der 
hohen Baudrate.
http://butterflylogger.sourceforge.net/

von Philipp (Gast)


Lesenswert?

Hallo,

im Datenblatt steht doch dass man mit OSCCAL nur zw. 7.3 und 8.1MHz 
trimmen kann, oder versteh ich da was falsch ?

Gruß
Philipp

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.