[求助] iq格式问题

喜鹊王子   2016-10-6 11:29 楼主
最近被_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吗?





回复评论 (2)

同求这种问提,关于IQ格式的问题好烦
点赞  2017-4-27 16:05
有点晕
点赞  2017-5-18 08:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复