TI中文支持网
TI专业的中文技术问题咨询交流网站

关于_IQ转换出错的问题

如题所示,我的工程中调用了IQmath_fpu32.lib,在使用_IQ()进行格式转换时发现转换的结果总是错误的,测试发现转换浮点变量会出错,转换浮点常量结果是正确的,为何会这样呢?

Susan Yang:

请问您使用的是哪款芯片?我会在测试后给您回复

user6371047:

回复 Susan Yang:

28069M

Susan Yang:

以下是我的测试结果

请您检查一下为何您的moni1显示为long long

若实在不能成功的话,请私信一下您的工程,我们具体看一下,谢谢

user6371047:

回复 Susan Yang:

显示long long是因为我之前怀疑是否数据溢出导致的,所以把moni1的类型改为了long long,实际测试结果long和long long类型转换出来的结果都是-128。由于是公司项目无法共享代码,susan能否共享一下你的iqmath相关的lib库文件和头文件,我加入我的项目中排查一下是否库文件问题。

Susan Yang:

回复 user6371047:

我是直接使用的C2000ware内的例程

CCS内直接导入 C:\ti\c2000\C2000Ware_3_03_00_00\libraries\math\IQmath\c28\examples\C\2806x ,而后在下面的地方将 lib改为coff lib

附上我的工程,您可以看一下

28069_IQsampleC.zip

user6371047:

回复 Susan Yang:

susan,你好,经过测试发现,我的工程中使用了FAST观测器的库文件“2806xRevB_FastSpinROMSymbols_fpu32.lib”,同时也使用了“IQmath_fpu32.lib”库文件,当我把库文件“2806xRevB_FastSpinROMSymbols_fpu32.lib”屏蔽不参与编译,_IQ()转换的结果是正确的,否则就会出错。下面附上了我测试时写的简单例程,请帮忙看一下,谢谢。

FOC_TEST.zip

Susan Yang:

回复 user6371047:

好的,我会查看您的文件并测试一下

Susan Yang:

回复 user6371047:

请您不要在工程内直接添加这2个库,而是以链接的方式来link,并且IQMATH的库在前,如下图所示

运行无错误

赞(0)
未经允许不得转载:TI中文支持网 » 关于_IQ转换出错的问题
分享到: 更多 (0)