Forum: Mikrocontroller und Digitale Elektronik timer zu langsam (oder ich...)


von Klaus Bröntgen (Gast)


Angehängte Dateien:

Lesenswert?

hallo an alle!

ich habe mir da zu testzwecken ein programm gebastelt, welches mir auf
den portpins des tiny2313 verschiedene takte jeweils im verhältnis 1:2
ausgeben soll.
also von port 0...7 je 1:2:4:8:16:32:64

also lasse ich einen timer den grundtakt erzeugen und addiere dann zu
ein register "clocks" eine 1. (in der ISR)
das main gibt mir dann das register auf portb aus (damit ichs blinken
sehe...)
funktionieren tuts, aber viieeel zu langsam: statt im 33Hz-Takt blinkt
bit 0 mit schätzungsweise 1Hz.

theorie des ganzen: tiny läuft mit internem 8MHz-Oszi (gemessen, geht),
dann per prescaler 1024 den timer gefüttert=7,8125kHz (128µs), dann als
timer startwert 21-> 234*128µs=30ms

asm im anhang, vielleicht könnte mir ja mal jemand die bäume fällen,
auf das ich den wald sehe?

vielen dank!

von Niels H. (monarch2)


Lesenswert?

Bei den Tinies die ich kenne, ist der Interne RC-Oszilator fest auf 1Mhz
bzw 1,2Mhz....

Möglicherweise vertust du dich hier?

von MichaelH (Gast)


Lesenswert?

Vermutlich läuft er nicht mit 8MHz sondern mit 1 MHz.
Das Häckchen in den Fuses mag auf 8MHz stehen, aber der für den 8'er
Vorteiler vermutlich auch ;-).

von Klaus Bröntgen (Gast)


Lesenswert?

ah, mmh, vielleicht isses ja die ckdiv8-fuse, die standardmäßig
aktiviert ist, wie ich da gerade lesen muß... mist!
ich beschau mir das nochmal im datenblatt (und mache vielleicht bald
mal meinen ersten fuse-fehler  ;-) )

danke!

von Klaus Bröntgen (Gast)


Lesenswert?

bin ich blöd! (wer lesen kann.....)
jawoll, ohne das ckdiv8-häkchen kommt schwung in die sache....

nochmals danke!

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.