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.
大家好,
本人在使用IQmath进行除法运算时,参考文档C28x IQmath Library Module user’s Guide(v1.6.0)的使用步骤:(由于使用的是CCS3.3,所以不用添加GEL文件)
1)包含IQmathLib.h头文件
2)添加IQmath.lib库文件
接着直接使用_IQ12div进行两个long数的除法运算,但是单步运行的时候,提示
请问知道的朋友告诉一下,这是为什么?谢谢!
忽略不管执行不会影响结果的 但是还没找到解决办法
有人说按照IQmath的PDF文档中的说明将相应的库添加,貌似需要在Build Option中的linker下添加两个库
你确认一下
是的,我在这条除法指令下面一条指令处设置断点,然后连续运行,这样就没有问题了,而且结果也是正确的,说明这条除法指令执行正常。
另外,我想请教一下,使用定点型DSP,如果操作数都是整型的,这种情况下,使用乘法“ * ”、除法“ / ”和使用_IQNmpy、_IQNdiv哪个执行时间更短,效率更高?
本人测试了一下,发现使用IQmath的执行时间要比相应的乘法“ * ”、除法“ / ”的执行时间长的多,我的测试代码如下:
long w,x,y,z;
GpioDataRegs.GPBSET.bit.GPIO32 = 1;
w=_IQ12div(_IQ12(100),_IQ12(9));
x=_IQ12mpy(_IQ12(100),_IQ12(9));
GpioDataRegs.GPBCLEAR.bit.GPIO32 = 1;
GpioDataRegs.GPBSET.bit.GPIO33 = 1;
y=100 / 9;
z=100 * 9;
GpioDataRegs.GPBCLEAR.bit.GPIO33 = 1;
然后,使用示波器观察GPIO32和GPIO33的高电平的时间,结果显示使用IQmath的执行时间要长的多,那么请问,IQmath在什么情况下,才会相对于普通算法而提高效率?(当然了,使用IQmath的结果精度要高)
通道1测试GPIO32,通道1测试GPIO33
谢谢