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

TMS320F28027: 不同类型的数据转换的问题

Part Number:TMS320F28027

三个变量分别定义如下:uint16_t a ,uint16_t b,float c

问题如下:

1.当一个整型与浮点数相加结果是浮点数还是整型?相加的时候是否要把整数b先强制转换为浮点数?乘法运算后因为要赋值给整型变量a,那么此时是否需要强制把乘积转换为整型数?

 a=b+c;

因为c是浮点数,那么这时候是否需要把变量b先转换为float再与变量c相加?

2.当一个整型与浮点数相乘结果是浮点数还是整型?相乘的时候是否要把整数b先强制转换为浮点数?

 a=b*c;

谢谢!

Green Deng:

你好,因为你附上的芯片型号是F28027,也就是定点芯片。如果是定点芯片的话,整型和浮点型运算都是转换为IQ格式进行计算的,计算结果也是IQ格式

如果是在浮点芯片,那么整型b和浮点c的运算结果是浮点型,再将结果赋值给整型a的话应该会自动整数后面的小数部分,把整数赋值给a。

,

jun liu:

转IQ太麻烦了 难道直接相加和相乘不可以?

,

jun liu:

我在25us的中断中使用_IQmpy 和_IQsin导致程序执行很慢 而且程序不执行printf函数 这是为什么?

,

jun liu:

我在25us中断中的代码如下:

spwmiqvar.sina = IQSIN_A+_IQ(spwmiqvar.spwm_cnt*SIN_B);// spwmiqvar.sinvale =_IQsin(spwmiqvar.sina); spwmiqvar.sinb =_IQmpy(spwmiqvar.M_FACTOR,spwmiqvar.sinvale); spwm_value=1000+1000*_IQtoF(spwmiqvar.sinb);

导致程序执行很慢 ,难道使用IQ还要设置什么?使用的过程中调用了fs_add28.asm和 fd_mpy28.asm 感觉程序一直在这两个文件当中 

请问这怎么解决?

是不是要添加 这个文件?谢谢!

,

Green Deng:

你看了一下,这个问题你是已经发了新帖了?我已经分配工程师升级了,还请等待工程师回复

e2echina.ti.com/…/tms320f28027-25us-iqmath

,

jun liu:

好的 谢谢您 因为SPWM 逆变需要浮点数 太感谢

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28027: 不同类型的数据转换的问题
分享到: 更多 (0)