TI中文支持网
TI专业的中文技术问题搜集分享网站

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.5Voute = 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.5Vouth = 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

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

Green Deng:

你这个应该是警告,不是报错?

意思是coff格式下的工程建议用32位的精度来进行编程,你的程序中是定义了64位的双精度数据吗?

,

DSP应用:

0049不可以定义64位数据吗?

,

C YG:

可以的

,

DSP应用:

abc我定义的double,就会报这个错误,需要改哪里?

,

C YG:

你的数据很大吗?为什么要定义double类型,你这个需要检查,保证你的数据类型都是一样的,如果使用double建议将所有的都改成double试试

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F280049C: 关于计算精度
分享到: 更多 (0)