dsp:F28335既然是浮点型的芯片,为什么还要添加IQmath_fpu32.lib库文件?

dsp:F28335既然是浮点型的芯片,为什么还要添加IQmath_fpu32.lib库文件?,第1张

这样才能保证编译器能够正确生成asm,调用fpu处理浮点指令啊。FPU是作为协处理器存在的,所以必须有额外的指令就在fpu32中,去调用它。这和C6x的概念是不一样的。

浮点型运算当然不如定点快,但是它精度高啊。

“I” =>integer(整数)

"Q"=>quotient(商;系数)--小数

"I3Q5"=>三位整数,5位小数。

在IQmath库的数据类型表里面,可以清晰的看出来。

IQmath 库是一系列高优化和高精度的数学函数集合,移植浮点运算到定点代码中。在应用之前必须要设置好相应的变量的分辨率,否则会出现溢出的情况发生,相比于用标准ANSI C 编写的数学运算代码,采用IQmath 库的应用程序能得到较理想的运算速度,而且提升不少。

只需要在程序中添加#include "IQmath/IQmathLib.h",便可以调用Iqmath 库函数了,以下是IQmath 的一个例子。

/////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "IQmath/IQmathLib.h"

int main(void)

{

_iq24 X, Y, Z

X = _IQ24(1.0)

Y = _IQ24(7.0)

Z = _IQ24div(X, Y)

}

/////////////////////////////////////////////////////////////////////////////////////////////////////////

IQmath 库中包含了5 组函数集:

1、 格式转换函数;

2、 算术函数;

3、 三角函数;

4、 常用的数学运算函数;

5、 其他。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11820520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存