关于2812IQmathlib的问题

[复制链接]
5681|7
 楼主| simpledsp 发表于 2008-9-24 21:35 | 显示全部楼层 |阅读模式
我加了它的cmd,库和头文件,怎么调用结果总为0啊<br />例子程序也不对<br />#include&ltIQmathLib.h&gt&nbsp;&nbsp;&nbsp;/*&nbsp;Header&nbsp;file&nbsp;for&nbsp;IQmath&nbsp;routine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<br />&nbsp;<br />#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PI&nbsp;&nbsp;3.14156&nbsp;<br />&nbsp;<br />_iq&nbsp;in1,&nbsp;out1;&nbsp;<br />_iq30&nbsp;in2,&nbsp;out2;&nbsp;<br />&nbsp;<br />void&nbsp;main(void&nbsp;)&nbsp;<br />{&nbsp;&nbsp;<br />&nbsp;in1=_IQ(0.25*PI/PI);&nbsp;&nbsp;&nbsp;<br />&nbsp;out1=_IQsinPU(in1)&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;in2=_IQ30(0.25*PI/PI);&nbsp;<br />&nbsp;out2=_IQ30sinPU(in2);&nbsp;&nbsp;<br />&nbsp;while(1)<br />&nbsp;{}<br />}&nbsp;<br />调用IQmath中的函数,怎么结果出来的都不对啊,帮忙看看哪儿出的问题
cpy1207 发表于 2010-1-28 19:16 | 显示全部楼层
我也碰到了同样的问题,顶
angelguard 发表于 2010-2-2 12:30 | 显示全部楼层
你的sin有问题,因为DSP中,sin是在BOOT-ROM中固化了一个表,当程序中遇到sin时,dsp会进入那个表中查找,当没有找到那个数时,他会选择输出为0.
cpy1207 发表于 2010-2-4 19:49 | 显示全部楼层
那你说sin有什么问题呢?
snakeemail 发表于 2010-2-7 21:35 | 显示全部楼层
浮点???
angelguard 发表于 2010-2-8 23:07 | 显示全部楼层
晕,对于IQMATH,他的sin是通过查找BOOT-ROM来求得的,而BOOT-ROM的SIN表中不是每个值都能查到的,他只对应了若干个点,(具体几个点记不清了),如果找不到楼主写的那个点,他就显示0.
而一般的C语言中,如果要写sin,必须要添加'math.h'头文件,但如此运算速度会大为降低,这个和IQMATH是不一样的。
angelguard 发表于 2010-2-8 23:08 | 显示全部楼层
晕,对于IQMATH,他的sin是通过查找BOOT-ROM来求得的,而BOOT-ROM的SIN表中不是每个值都能查到的,他只对应了若干个点,(具体几个点记不清了),如果找不到楼主写的那个点,他就显示0.
而一般的C语言中,如果要写sin,必须要添加'math.h'头文件,但如此运算速度会大为降低,这个和IQMATH是不一样的。
流金岁月 发表于 2010-3-5 11:30 | 显示全部楼层
写法有问题,如下是乘法
    id=  _IQmpy(i_apha, *Pointer_Sin) - _IQmpy(i_bata,*Pointer_Cos);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部