The Clarke module code in the motor control example (e.g. HVPM_Sensorless_F2833x) calls the Clarke transformation macro. The two variables clarke1.As/Bs are defined as long (_iq) in the clarke.h. But they are given the floating values (refer to the following lines). I was just wondering how it works out the right results.
#ifdef DSP2833x_DEVICE_H
clarke1.As=((AdcMirror.ADCRESULT0)*0.00024414-0.5534)*2*0.909; // Phase A curr.
clarke1.Bs=((AdcMirror.ADCRESULT1)*0.00024414-0.5546)*2*0.909; // Phase B curr.
#endif
CLARKE_MACRO(clarke1)