mikrocontroller.net

Forum: Compiler & IDEs Problem mit folgender berechnung


Autor: wagner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ein problem

Ich möchte die Windgeschwindigkeit meines Windmessers messen auf basis 
von Impulsen und deren diffenz.


Ich habe einen Mega 8 mit 8Mhz

Timer1 mit 16bit und prescaler =1.

das bedeutet das er pro sekunde 122 überläufe produziert.

in diesen timer überprüfe ich ob der reed geschlossen ist und auch 
wieder öffnet wenn ja dann start bis zum nächsetn schließen = stopp.

um die umlauffrequenz zu erhalten rechne ich


1/differenz*1sec/122überläufe

die differenz beträgt bei langsamen drehungen ca 109 das entspricht fast 
eine umdrehung / sec.

Die umlauffrequenz beträgt demnach 1,1Hz.

um die geschwindigkeit zu berechnen muß ich nach der Formel


V=2*pi*r*f berechnen


in c habe ich es so gemacht
diff ist auch ein int.

int v=2*3.14159265 *0.065 * (1/(diff*1/122)):

v ist -1 das ist doch falsch:

kann mir einer veraten was ich falsch mache???

Danke

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>int v=2*3.14159265 *0.065 * (1/(diff*1/122)):

float v=2.0*3.14159265 *0.065 * (1.0/((float)diff*1.0/122.0)):

Autor: wagner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie kann ich den float darstellen als integer sbekomme ich minus und 
plus werte im 5 stelligen bereich.

wo weiß ich wo das komma ist??:

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wo weiß ich wo das komma ist??:

integer haben keine Kommas.
integer sind Ganzzahlen.
1,2,3,4,5..-1,-2,-3

Nachkommastellen gibt es bei integer nicht.

Autor: wagner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das Problem ist erledigt habe es in ein integer umgewandelt und bekomme 
jetzt die ganz Zahl.


z.b float 123.123 jetzt nur noch 123 für die Windgeschwindigkeit reichen 
ganz zahlen.

Danke

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.