Moin Erik,
probier mal 60.0/80.0.
Wenn Du 60/80 teilst, dann teilst Du Integers - da kommt dann auch 0 raus.
Und wenn's in Variablen steht: (double) (a) / (double) b.
viele Grüße
Andreas
Hallöchen,
ich stehe vor folgendem Problem:
Ich möchte die Winkel für mehrere Servos berechnen - dafür brauche ich den Arc-tangens (atan - math.c). Doch mein Problem ist die Division von "a" durch "b" zuvor, da bei der Division keine Nachkommastellen herauskommen ... sprich bei z.B. 60/80 erhalte ich 0
Ich Suche nun schon ewig nach etwas brauchbaren bin aber bis jetzt erfolglos - ich habe nur von einer div() Funktion gelesen, aber bekomme selbst diese nicht zum laufen...
Es wäre schön wenn mir jemand aushelfen könnte!
Mit freundlichen Grüßen Erik
Meine Projekte auf Youtube
Moin Erik,
probier mal 60.0/80.0.
Wenn Du 60/80 teilst, dann teilst Du Integers - da kommt dann auch 0 raus.
Und wenn's in Variablen steht: (double) (a) / (double) b.
viele Grüße
Andreas
#define true ('/'/'/')
#define false ('-'-'-')
Die ATAN funktion benötigt ohnehin schon Fließkomma-Zahlen. Man kann also die Division auch mit Fließkomma (double , auch wenn das bei AVR GCC nur 32 Bit sind) machen. Es gibt dann in math.h auch noch die Funktion atan2(y,x) , die gerade atan(y/x) berechnet. Der Vorteil liegt in der Berücksichtigung der Quadranten, weniger beim einsparen der Division.
Dankeschön - so einfach kann es sein, das mit dem atan2 hatte ich gesehen, aber die Funktion nicht verstanden...
Meine Projekte auf Youtube
Lesezeichen