This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280049C: 关于计算精度

Part Number: TMS320F280049C


想通过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

这是为啥呢?是因为数据类型或者数据精度问题吗?