Forum: Mikrocontroller und Digitale Elektronik Wie komme ich zu folgender Formel?


von Johannes Permoser (Gast)


Lesenswert?

hi,

hatte jetzt ein paar monate nichts mit assembler und avr zu tun (musste
die platine löten).
heute hab ich mal wieder meine alten projekt-dateien angeschaut und
treffe immer wieder auf eine formel, die ich mir nicht erklären kann:

.equ N = 50
.equ PRESCALER = 1024
.equ OCVAL = (N*CLOCK)/(PRESCALER*100)

also (INTERVAL*CLOCK)/PRESCALER könnte ich mir noch erklären, das wäre
dann der wert für OCR1A, der timer würde nach N takten neustarten.
aber woher komm das 100 im nenner?

mfg, johannes

von Karl heinz B. (kbucheg)


Lesenswert?

Schnellschuss aus der Hüfte:
OCR Wert für eine PWM mit 100 Stufen?

von A.K. (Gast)


Lesenswert?

Ganzzahlige Rundungseffekte vernachlässigt:

OCVAL = (50*CLOCK)/(PRESCALER*100) = (CLOCK/PRESCALER) * (50/100)
  = (CLOCK/PRESCALER) / 2.

Was dabei rauskommt, ist ein 1sec Takt.

von Johannes Permoser (Gast)


Lesenswert?

> OCR Wert für eine PWM mit 100 Stufen?

nein, mit pwm hatte ich nichts zu tun

> Was dabei rauskommt, ist ein 1sec Takt.

scheint logisch.

es könnte natürlich auch sein, dass ich den faktor 100 einfach so
eingefügt hatte, damit ich die ergebnisse besser in vmlab beobachten
konnte (vmlab verlangsamt die zeit unkontrollierbar, da hilft nur ein
kürzerer 'ereignis-takt')

von Karl heinz B. (kbucheg)


Lesenswert?

Rechne mal mit den Zahlen nach.
Wenn da 42 rauskommt, wüsste ich eine dazu passende Frage ;-)

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.