iq格式问题

[复制链接]
2191|4
 楼主| fhgc567lm 发表于 2016-10-24 22:23 | 显示全部楼层 |阅读模式
最近被_iq弄得有点迷糊,还求前辈指点指点。有如下代码:#ifndef   GLOBAL_Q
#define   GLOBAL_Q       24
#endif


#define OFFSET (_IQ12(0.05))
_iq x;
_iq m;
_iq y;
x =(_iq)ADC_readResult(...); //ADC_readResult返回uint_least16_t型,为ADC结果寄存器里面的值
m = _IQ12mpy(x, OFFSET);
y = x-m;
/***************************/
记ADC结果寄存器里面的值为ADCRESULT,16位无符号整型,范围为0-4095;
则上述代码中的x=ADCRESULT/2^24,这个对吗?还是说x就直接等于ADCRESULT?(_iq)强制转换是怎么转换的?
m = _IQ12mpy(x, OFFSET); 这个该怎么计算,x还要转换成_IQ12格式吗?有点晕。。。。结果是m=ADCRESULT*0.05吗?

enginezhong 发表于 2016-10-25 20:16 | 显示全部楼层
这应该用的是库吧,看看库函数的介绍就知道啦。
gaoxiansheng 发表于 2016-10-27 22:00 | 显示全部楼层
_iq好像是一个固定的使用格式,原型你也是可以在.c文件中找到的。
FCCdsp 发表于 2016-10-29 23:02 | 显示全部楼层
库函数
Sode 发表于 2016-10-30 16:24 | 显示全部楼层
用的库函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

18

帖子

0

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