
想通过280049实时计算一个非常复杂的公式,但是将该公式输入后发现出现如下错误
inline void pfcControlCode(void)
{
//GpioDataRegs.GPASET.bit.GPIO0=1;
a = L*vBus_in_volts;
b = ac_vol_in_volts * vBus_in_volts;
c = guiIi * L * vBus_in_volts;
//Vin<0.5Vout
e = guiIi*guiIi*L*vBus_in_volts-4.0f*guiIi*Td*ac_vol_in_volts*ac_vol_in_volts+4.0f*guiIi*Td*b-4.0f*qoss*b+4.0f*qoss*vBus_in_volts*vBus_in_volts;
//Vin>0.5Vout
h = sqrt(L*qoss*(2*ac_vol_in_volts-vBus_in_volts));
g = guiIi*guiIi*a+2.0f*guiIi*ac_vol_in_volts*(SQR*h-2.0f*Td*(ac_vol_in_volts - vBus_in_volts))+4.0f*qoss*ac_vol_in_volts*ac_vol_in_volts;
if(ac_vol_in_volts > 0.5f *vBus_in_volts)
{
f = d2*b/(sqrt(a*g)+c);
}
else
{
f = d2*b/(sqrt(a*e)+c);
}
perid=100000/f; //重新计算周期寄存器值
EPWM_setTimeBasePeriod(EPWM2_BASE,perid); //EPWM1频率设置*/
//GpioDataRegs.GPACLEAR.bit.GPIO0=1;
}
Description Resource Path Location
#3195-D (Performance) EABI double precision is 64-bits as opposed to 32-bits for COFF. Consider changing doubles to floats for improved performance in FPU32-mode. main.h /Boost_Test line 151
Description Resource Path Location
#3195-D (Performance) EABI double precision is 64-bits as opposed to 32-bits for COFF. Consider changing doubles to floats for improved performance in FPU32-mode. main.h /Boost_Test line 155
这是为啥呢?是因为数据类型或者数据精度问题吗?
