Forum: Mikrocontroller und Digitale Elektronik Frequenz Berechnen aus Timerwert ohne Float?


von Maik (Gast)


Lesenswert?

Hallo zusammen,
ich muß die Frequenz einer Spannung Berechnen. Dazu werden die Werte des 
Free Running Timers bei jedem Externen Interrupt nacheinander in zwei 
Variablen geschrieben. Die Differenz dieser beiden ist dann 
Multipliziert mit meiner Timereinstellung von 1,33µs pro Zählschritt die 
Zeit für eine Periode.

Wie kann ich nun die Frequenz berechnen ohne Gleitkomma Zahlen benutzen 
zu müssen?
Desweiteren möchte ich die Frequenz Faktor 100 größer haben wie sie 
Eigentlich ist wegen der Ausgabe mit Nachkommastellen
Danke für alle Beiträge
MfG Maik


P.S.
Benutzt werden:
16 bit Timer
Externer Interrupt zum Timerwert speichern
Programmiersprache C

von Falk (Gast)


Lesenswert?

Stichwort Festkommazahlen.

Tip: die Zahl 1 kann man auch als 1000 schreiben und sich die letzten 
drei Stellen als Nachkomma denken.

MFG
Falk

von Maik (Gast)


Lesenswert?

Ja genau habe aber gerade ein riesen Brett vorm Kopf und finde den 
Ansatz nicht!
So ne scheiße

von Falk (Gast)


Lesenswert?

@ Maik

>Ja genau habe aber gerade ein riesen Brett vorm Kopf und finde den
>Ansatz nicht!

Je nach Alter und Geschmack Tee oder Bier trinken und Ruhe bewahren.

Anstatt mit einer Float Variable mal 1,33 zu rechnen rechnest du mit 
einer Integer mal 1330.
Dann 1/x rechnen. Das mal hundert geht problemlos mittels 
Integermultiplikation. Da die Zahlen dabei recht gross werden, musst du 
ggf. deine Variablen in long (32 Bit) oder long int? (64 bit) speichern.

MfG
Falk



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.