Frequenz Berechnen aus Timerwert ohne Float?

Gast #534352
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
Gast #534383
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


Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.