RESOLVER_MACRO(resolver1) //电角度求解
#define RESOLVER_MACRO(v) \
\
/* Compute the mechanical angle in Q24 */ \
v.MechTheta = v.RawTheta - v.InitTheta; /* MechTheta in step counts */ \
v.MechTheta = __qmpy32by16(v.MechScaler,(int16)v.MechTheta,31); /* Q15 = Q30*Q0 */ \
v.MechTheta &= 0x7FFF; /* Wrap around 0x07FFF*/ \
v.MechTheta <<= 9; /* Q15 -> Q24 */ \
\
/* Compute the electrical angle in Q24 */ \
v.ElecTheta = v.PolePairs * v.MechTheta; /* Q24 = Q0*Q24 */ \
v.ElecTheta &= 0x00FFFFFF; /* Wrap around 0x00FFFFFF */
#endif // __RESOLVER_H__