Shift Fehler
-
Hi,
wo liegt das Problem:
Compiler sagt:
invalid operand types for << operator[code]
s16signal = (T_S16)(((( ((T_U32)u16signal)*0.1)+1024)<<5) -32768 );
[quote]
-
versuchst du flost oder double zu shiften? das geht nicht. wenn es ginge, käme ohnehin nur mist raus.

-
Gut,
jetzt habe ich mal so geklammert,
dass er zuerst in ein uint32 castet bevor er shifted.Dann sagt aber der Linker
ltc E106: unresolved external: __d_mul -
ltc E106: unresolved external: __d_itod -
ltc E106: unresolved external: __d_dtoui -was soll das jetzt?
-
Welcher Linker?
Viele Plattformen brauchen für Fließkommaarithmetik eine Mathematiklibrary, unter Linux z.B. die libm (Linkerparameter -lm).
-
Alles klar,
mein Controller darf keine Float Zahlen bearbeiten.
Deshalb hab ich erst durch 10 geteilt und dann 5 nach links geshifted.
Yeah