www.mikrocontroller.net

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


Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stichwort Festkommazahlen.

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

MFG
Falk

Autor: Maik (Gast)
Datum:

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

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.