Other Parts Discussed in Thread:CONTROLSUITE, C2000WARE
如图,IQdiv的计算结果一直为581117743,不论如何更改相除的两个数,而IQmpy则一直没有问题,求助原因,谢谢。
Susan Yang:
该API使用方式如下
参考controlSUITE\libs\math\IQmath\v160\doc
#include “IQmathLib.h” _iq in1 out1; _iq28 in2 out2; void main(void ) { in1 = _IQ(1.5); out1 = _IQdiv(_IQ(1.0), in1); in2 = _IQ28(1.5); out2 = _IQ28div(_IQ28(1.0), in2); }
,
user5053834:
按您说的更改后,计算结果仍然不对,这是什么原因,用100pin的28069,CCS V6.2.0,仿真器XDS200
,
Susan Yang:
谢谢反馈,我会在确认后给您回复
,
Susan Yang:
请问您现在cmd文件使用的是哪一个?是否在cmd文件内定义了IQMathTables等
,
user5053834:
用的这个CMD文件,未进行任何改动:controlSUITE\device_support\f2806x\v151\F2806x_common\cmd\28069_RAM_lnk.cmd;
我看CMD里面有IQMathTables的定义;
,
Susan Yang:
您可以尝试一下下面的cmd文件吗?
controlSUITE\libs\math\IQmath\v160\examples_ccsv4\cmd
,
Susan Yang:
我测试了一下,并不能复现您的问题:
您可以确定已正确包含库吗?Q值不匹配吗?反汇编是和下图相同吗?若不是的话,请给出您的截图,谢谢
,
user5053834:
仿真和CMD如图
,
Susan Yang:
请您将工程私信一下,我来具体看一下
私信方式: 将鼠标放在我的头像上悬停一会儿,就会出现私信的按键,而后点击并将工程压缩后以附件形式添加
,
user5053834:
已私信,期待您的回复,谢谢。
,
Susan Yang:
我将您的代码写在C2000Ware_3_04_00_00\libraries\math\IQmath\c28\examples\C\2837xd 例程内,使用28379D的板子测试是可以成功的。您可以对照一下CCS内的相关设置:
,
user5053834:
在公司电脑上,这个问题依旧,只能用乘法代替除法了,但在个人电脑上确实不能复现这个问题,猜测是由于电脑权限问题,公司电脑给的权限很低。
,
Susan Yang:
谢谢您的反馈。后续我们会再次测试一下该问题
TI中文支持网









