void IntRegOutHM3SPWM(void)
{
int iTmpAx_0,iTmpBx_0,iTmpCx_0;
int iAlfa_0, iBeta_0;
int i3Alfa_0;
int iTmpNx_0;
iRegOutD_0 = iPiRegPwmD_0;
iRegOutQ_0 = iPiRegPwmQ_0;
iRegOutZ_0 = iVbusDiffReg_0;
iKSPWM_0=500;
// R/S Conv
iAlfa_0 = (((long)iRegOutD_0) * sPLL_0.iCosPll - (((long)iRegOutQ_0)*sPLL_0.iSinPll)) >> 10;
iBeta_0 = (((long)iRegOutD_0) * sPLL_0.iSinPll + (((long)iRegOutQ_0)*sPLL_0.iCosPll)) >> 10;
// 2/3 Conv
iVaAct_0 = ((long)iAlfa_0 * Cnst1 + (long)iRegOutZ_0 * Cnst1DSqrt2)>>12;
iVbAct_0 = (-(long)iAlfa_0 * Cnst1D2 + (long)iBeta_0 * CnstSqrt3D2 + (long)iRegOutZ_0 * Cnst1DSqrt2) >> 12;
iVcAct_0 = (-(long)iAlfa_0 * Cnst1D2 - (long)iBeta_0 * CnstSqrt3D2 + (long)iRegOutZ_0 * Cnst1DSqrt2) >> 12;
iUa2=(_IQmpy(_IQ(1.732050807568877),iBeta_0)+iAlfa_0)>>1;
iUb2=(-_IQmpy(_IQ(1.732050807568877),iBeta_0)+iAlfa_0)>>1;
iUc2=-iAlfa_0;
isector2=0;
if(iUa2>0)
isector2=1;
if(iUb2>0)
isector2=isector2+2;
if(iUc2>0)
isector2=isector2+4;
if(isector2==3)
{
iThreeSector_0=1;
}
else if(isector2==1)
{
iThreeSector_0=2;
}
else if(isector2==5)
{
iThreeSector_0=3;
}
else if(isector2==4)
{
iThreeSector_0=4;
}
else if(isector2==6)
{
iThreeSector_0=5;
}
else if(isector2==2)
{
iThreeSector_0=6;
}
i3Alfa_0 = (((long)iRegOutD_0) * sPLL_0.iCos3Pll - (((long)iRegOutQ_0)*sPLL_0.iSin3Pll)) >> 10;
iVa3Act_0 = (((long)i3Alfa_0 * Cnst1 + (long)iRegOutZ_0 * Cnst1DSqrt2)>>12);//+(sPLL_0.iCosPllT<<1);
iVgrid3Act_0 = ((long)iVa3Act_0*683)>>12 ;//683--1/6
{
int iTmpAx_0,iTmpBx_0,iTmpCx_0;
int iAlfa_0, iBeta_0;
int i3Alfa_0;
int iTmpNx_0;
iRegOutD_0 = iPiRegPwmD_0;
iRegOutQ_0 = iPiRegPwmQ_0;
iRegOutZ_0 = iVbusDiffReg_0;
iKSPWM_0=500;
// R/S Conv
iAlfa_0 = (((long)iRegOutD_0) * sPLL_0.iCosPll - (((long)iRegOutQ_0)*sPLL_0.iSinPll)) >> 10;
iBeta_0 = (((long)iRegOutD_0) * sPLL_0.iSinPll + (((long)iRegOutQ_0)*sPLL_0.iCosPll)) >> 10;
// 2/3 Conv
iVaAct_0 = ((long)iAlfa_0 * Cnst1 + (long)iRegOutZ_0 * Cnst1DSqrt2)>>12;
iVbAct_0 = (-(long)iAlfa_0 * Cnst1D2 + (long)iBeta_0 * CnstSqrt3D2 + (long)iRegOutZ_0 * Cnst1DSqrt2) >> 12;
iVcAct_0 = (-(long)iAlfa_0 * Cnst1D2 - (long)iBeta_0 * CnstSqrt3D2 + (long)iRegOutZ_0 * Cnst1DSqrt2) >> 12;
iUa2=(_IQmpy(_IQ(1.732050807568877),iBeta_0)+iAlfa_0)>>1;
iUb2=(-_IQmpy(_IQ(1.732050807568877),iBeta_0)+iAlfa_0)>>1;
iUc2=-iAlfa_0;
isector2=0;
if(iUa2>0)
isector2=1;
if(iUb2>0)
isector2=isector2+2;
if(iUc2>0)
isector2=isector2+4;
if(isector2==3)
{
iThreeSector_0=1;
}
else if(isector2==1)
{
iThreeSector_0=2;
}
else if(isector2==5)
{
iThreeSector_0=3;
}
else if(isector2==4)
{
iThreeSector_0=4;
}
else if(isector2==6)
{
iThreeSector_0=5;
}
else if(isector2==2)
{
iThreeSector_0=6;
}
i3Alfa_0 = (((long)iRegOutD_0) * sPLL_0.iCos3Pll - (((long)iRegOutQ_0)*sPLL_0.iSin3Pll)) >> 10;
iVa3Act_0 = (((long)i3Alfa_0 * Cnst1 + (long)iRegOutZ_0 * Cnst1DSqrt2)>>12);//+(sPLL_0.iCosPllT<<1);
iVgrid3Act_0 = ((long)iVa3Act_0*683)>>12 ;//683--1/6