资源描述:
《最新IQmath基本使用方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、精品资料IQmath基本使用方法........................................精品资料IQmath基本使用方法(2812为例子)一.配置CMDPRAMH0 :origin=0x100000,length=0x008000
BOOT_ROM :origin=0x3ff000,length=0x000fc0
IQmathTables :>BOOT_ROM,type=NOLOAD,PAGE=0
IQmath :>PRAMH0, PAGE=
2、0二.载入gel文件,加入IQmath库和头文件
IQmath.gel
IQmath.lib
IQmathLib.h三.定义全局Q格式,和调试Q格式
#defineGLOBAL_Q 20//全局为Q20格式,默认为Q24格式
longGlobalQ=GLOBAL //调试用为Q20格式(这样可以使用_IQ(x)在监视器中查看)//-----------------------------
IQmath中常用的变量和字符
QN .......................................
3、.精品资料16bitQ格式
IQN 32bitQ格式N表示Q多少
int16bit
long32bit
_iq=_iqN=long
F浮点数输入
S浮点字符串
P正数最大值
N负数最大值格式转化函数
一般情况下IQ都有IQN版本的函数
float_IQtoF(A) //_iq浮点转成正常浮点
float_IQNtoF(A)
int_IQtoQN(A) //iq和q(16bit)的转化
long_IQint(A) //提取iq的整数部分
_IQ(floatF)
4、 //浮点转化成iq
_IQN(floatF)
_atoIQ(char*s) //字符串转化成iq
_IQfrac(A) //提取iq的小数部分
_IQtoIQN(A) //全局iq和普通iq的转化
_IQNtoIQ(A)
_QNtoIQ(intA)........................................精品资料算术函数
long_IQmpyI32int(A,B)//N*longIQ乘long返回整数部分
lon
5、g_IQmpyI32frac(A,B)//N*longIQ乘long返回小数部分
_IQmpy(A,B) //N*N乘法
_IQrmpy(A,B) //N*N四舍五入的乘法最后保存结果前(四舍五入)
_IQrsmpy(A,B) //N*N四舍五入的饱和处理乘法(如果Q26[-32,+32],如果相乘结果超过也会限制到这个范围)
_IQmpyI32(A,B) //N*longIQ乘long
_IQmpyIQX(A,A1,B,B1)//N1*N2两个不
6、同的Q格式乘法,返回全局Q格式
_IQdiv(A,B) //N/Niq除法三角函数
_IQsin(A)
_IQsinPU(A) ........................................精品资料//正弦函数(标幺值),你占这个圆周的几分之几为单位如果sin((0.25*PI)/(2*PI))
_IQcos(A)
_IQcosPU(A)
_IQatan2(A,B) //第四象限反正切tan-1(sin,cos)
_IQatan2PU(A,
7、B) //第四象限反正切tan-1(sin,cos)
_IQatan(A,B) //定点反正切 tan-1(1),,1=sin/cos_IQNsin(A)
_IQNsinPU(A) //正弦函数(标幺值),你占这个圆周的几分之几为单位如果sin((0.25*PI)/(2*PI))
_IQNcos(A)
_IQNcosPU(A)
_IQNatan2(_iqA,B) //第四象限反正切tan-1(sin,cos)
_IQNatan2PU(_iqA,B)
8、//第四象限反正切tan-1(sin,cos)
_IQNatan(A,B) //定点反正切 tan-1(1),,1=sin/cos数学函数
_IQNsqrt(A) //平方根 a^0.5
_IQNisqrt(A) //平方根倒数 ...................