ZHCU083I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
Run 方法执行对象变量的计算。使用嵌入式软件时,run 方法可能还操作外设或其他一些硬件。帕克 run 方法计算输入矢量 {Id, Iq } 的帕克变换,然后返回输出矢量 {Iα, Iβ}。帕克 run 方法的代码如下所示。
在 run 方法中,第一个参数是对象的句柄,后面的参数是单个量时的输入和输出变量或者矢量的指针。run 方法不返回任何值。
static inline void PARK_run(PARK_Handle parkHandle,const MATH_vec2
*pInVec,MATH_vec2 *pOutVec)
{
PARK_Obj *park = (PARK_Obj *)parkHandle;
_iq sinTh = park->sinTh;
_iq cosTh = park->cosTh;
_iq value_0 = pInVec->value[0];
_iq value_1 = pInVec->value[1];
pOutVec->value[0] = _IQmpy(value_0,cosTh) + _IQmpy(value_1,sinTh);
pOutVec->value[1] = _IQmpy(value_1,cosTh) - _IQmpy(value_0,sinTh);
return;
} // end of PARK_run() function