Wie beim STM32f4 float sin/cos machen?

Gast #6880798
Lesenswert?

Hallo.

Ich bin wohl gerade zu blöd!

Ich will auf einem STM32F4 mit float rechen.
Normales A = B * 1.34536, geht aber nun brauche ich die Sinus Funktion.
Allso math.h geladen und mal A = sinf(b) geschrieben.

Fehler: Findet sinf nicht und ich verstehe gerade nicht warum.

Was kann man hier falsch machen oder besser wie geht es richtig?
Moderator Persönliche Seite #6880816
Lesenswert?

Dirk schrieb:
> Fehler: Findet sinf nicht und ich verstehe gerade nicht warum.

Bitte Fehlermeldung posten, damit man sehen kann, ob der Compiler oder 
der Linker "sinf nicht findet".

Ist "sinf" ein Tippfehler? Die Funktionen heißen sin() und cos(). 
Außerdem musst Du dem Linker noch mitteilen, dass die Mathe-Lib 
dazugelinkt werden soll, i.a. durch "-lm".
Gast #6880830
Lesenswert?

Ich hätte noch anzubieten:

#include <arm_math.h>

   * @brief  Fast approximation to the trigonometric
   * sine function for floating-point data.
   * @param[in] x input value in radians.
   * @return  sin(x).   */

  float32_t arm_sin_f32(float32_t x);

Das wäre dann "echtes 32-Bit float" statt double.
Ausserdem gilt was Frank schon geschieben hat (ist aber
nicht relevant zur Compile-Zeit):

Frank M. schrieb:
> Außerdem musst Du dem Linker noch mitteilen, dass die Mathe-Lib
> dazugelinkt werden soll, i.a. durch "-lm".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren