sinus funktion bei ezdsp f28335

Gast #1075183
hi zusammen,

ich benutze grad ezdsp f28335 floating point von TI,um AC Motor zu 
regeln.Dabei muss ich sinus funktion benutzen.Ich hab <math.h> eingefügt 
und drin gibts doch funktion sinus. Aber wenn ich sie aufrufe,kommt eine 
fehlermeldung von CCS dass die funtion nicht gefunden.

als zweites, möchte ich gern fragen, bei floating point prozessor kann 
ich formel wie "natur" benutzen? also meine ich wie in matlab, ein 
formel ganz natur beschrieben wie z.b.
float a,b,x;
y = ax + b, usw.

Bei fixed point (wie bei f2812 von TI) sollte man IQmath benutzen? Was 
ist genau unterschied weiß ich noch nicht:(

Könnt ihr mal mir helfen?

vielen dank im voraus:-)

Gruß aus uni Hannover:-)
#1075229
Zur Berechnung von Sinus-Funktionen ist bei diesem DSC auch IQ-Math zu 
verwenden. Über math.h müsste dies aber auch möglich sein, aber damit 
habe ich mich noch nicht beschäftigt. Und meine andere Frage in diesem 
Subforum bleibt ja leider offen. Zunächst muss die neuste iqmath Library 
besorgt werden. Konfiguration im Linker (Speicherbereichszuweisung) 
müssen auch durchgeführt werden. Eine Sinus-Kalkulation sieht dann im 
Source wie folgt aus:

void math_test(void)
{
    _iq l_iq_in1,l_iq_out1
//====================================================================== 
================================

// Hier ein paar Trigonometrische Beispiele:
//l_iq_in     immer wenn float ins IQ Format gewandelt wird
//l_iq_out    immer wenn eine IQ-Funktion ein IQ Wert (l_iq_in) 
berechnet - Ausgabe im IQ Format
//g_float_...   g=globale Variable - Definiertes Format von Variablen 
für   die Funktion _IQNtoF,_IQNint

l_iq_in1    =_IQ(PI/5);
l_iq_out1    =_IQsin(l_iq_in1); //Execution Cycles = 46
g_float_sin1  =_IQtoF(l_iq_out1);     //Execution Cycles = 22
}


Wegen knapper Zeit kann ich keinr weitere Hilfestellung geben, aber ich 
hoffe damit etwas geholfen zu haben.
Gast #1078776
Danke Tim für dein Antwort:-)

was macht eigentlich diese IQmath? wie in matlab , man kann doch direckt 
sinus oder y = ax+ b benutzen oder? ich denke bei foating point 
prozessor muss es gehen ,bin mir aber nicht sicher:(

für sinus funktion hab ich so gemacht:
1
#include <math.h>
2
void clack( float32 x, float y)
3
{
4
   //....
5
   y = sin(x);
6
   //....
7
}

Code Composer studio sagt dann :
......
......
<Linking>

 undefined  first referenced
  symbol        in file
 ---------  ----------------
 _Cos       D:\\Programme\\MyProjects\\RL_3phase\\Debug\\park_sinus.obj
 _Sin       D:\\Programme\\MyProjects\\RL_3phase\\Debug\\park_sinus.obj
 _park_calc D:\\Programme\\MyProjects\\RL_3phase\\Debug\\RL_3phase.obj
.....

Frage ist ,ob es mir noch sorce file fehlt,"math.c" oder bibliothek file 
"math.lib" z.b.?
Gast #1090894
danke Martin:-)

ich glaube das ist mein fehler:D die header file noch nicht in richtige 
ordner reinzukopieren:D

wünsche euch noch schöne weihnachtszeit:-)

ciao
Gast #1106567
dringend bitte helfen:(

ich hab math.h gefunden und in file includen.aber es zeigt gleiche 
fehlermeldung.

kann jemand mir helfen?
 und die offene frage bei floating point operator?

danke euch im voraus!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.