我将IQmathLib.h设置为浮点库,在IQmathLib.h看到以下几行代码,
#if MATH_TYPE == FLOAT_MATH
#include <math.h>
#include <stdlib.h>
#endif
#define _IQsin(A) sin(A)
是不是说设为浮点库之后计算_IQsin(),还是要去运行math.h里的sin()函数,这样好像不是通过查表计算sin()函数,对于浮点的C2000来说有什么意义呢,而且我在主函数调用_IQsin()的地方设置了断电,然后单步运行看看具体是怎么运行_IQsin()函数的,发现它确实是进入了sin.c去执行math.h里声明的sin()函数,好像并不像之前知道的IQmath通过查表来得到_IQsin()的结果,请问是为什么呢,我看了工程设置在附件中应该有把"IQmath_fpu32.lib"和IQmathLib.h添加进来,编译以后在
{
IQmath_fpu32.lib<IQNexpTable.obj> (IQmathTablesRam)
}
IQmathTables3 :> IQTABLES3, PAGE = 0, type = NOLOAD
{
IQmath_fpu32.lib<IQNasinTable.obj> (IQmathTablesRam)
}
出现警告 no matching section,是不是因为这个警告造成_IQsin()没有正确执行呢。希望知道的可以帮我解答下这个问题
xuan yan:
回复 Eric Ma:
请问为什么我用28069添加了"rts2800_fpu32_fast_supplement.lib"库之后sin()函数的计算结果就出错,删除该库之后结果就对了,附件中是我的工程设置
我将IQmathLib.h设置为浮点库,在IQmathLib.h看到以下几行代码,
#if MATH_TYPE == FLOAT_MATH
#include <math.h>
#include <stdlib.h>
#endif
#define _IQsin(A) sin(A)
是不是说设为浮点库之后计算_IQsin(),还是要去运行math.h里的sin()函数,这样好像不是通过查表计算sin()函数,对于浮点的C2000来说有什么意义呢,而且我在主函数调用_IQsin()的地方设置了断电,然后单步运行看看具体是怎么运行_IQsin()函数的,发现它确实是进入了sin.c去执行math.h里声明的sin()函数,好像并不像之前知道的IQmath通过查表来得到_IQsin()的结果,请问是为什么呢,我看了工程设置在附件中应该有把"IQmath_fpu32.lib"和IQmathLib.h添加进来,编译以后在
{
IQmath_fpu32.lib<IQNexpTable.obj> (IQmathTablesRam)
}
IQmathTables3 :> IQTABLES3, PAGE = 0, type = NOLOAD
{
IQmath_fpu32.lib<IQNasinTable.obj> (IQmathTablesRam)
}
出现警告 no matching section,是不是因为这个警告造成_IQsin()没有正确执行呢。希望知道的可以帮我解答下这个问题
HAI YU:
回复 xuan yan:
您好,我在自学28069时也遇到了同样的问题,不知道您解决了没有,想请教您。