Hi,
folgens mache ich:
1 | float G1, G_inc, tmpwert;
|
2 | Int16 *current_in, *current_out;
|
3 | Int16 Buffer[100], k;
|
4 |
|
5 | current_in = Buffer;
|
6 |
|
7 | tmpwert = (float)current_in[i] *(G1-G_inc*k);
|
8 | current_out[i] = (Int16)tmpwert;
|
Der Code ist vereinfacht dargestellt.
So, mein Problem ist, dass ich in tmpwert falsche Werte erhalte. Ich
möchte die Berechnung so vornehmen, dass der Anfangszeiger von Buffer in
current_in kopiert wird und ich mittels current_in die Multiplikation
mit den float Werten vornehme. Damit dies geht, muss ich den Wert von
Buffer jedoch casten als float. Aber es geht nicht!
Kann es sein, dass ich durch meine Methode den Zeiger selber caste?
Müsste ich es dann so umschreiben?
1 | tmpwert = current_in[i];
|
2 | tmpwert = tmpwert *(G1-G_inc*k);
|
3 | current_out[i] = (Int16)tmpwert;
|
Ich danke euch für eure Antworten! Kann den Code leider nicht
überprüfen, hab mein DSP Board net da :-/
Gruß, Pascal