打印

iq格式问题

[复制链接]
1912|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 | 只看该作者
库函数

使用特权

评论回复
5
Sode| | 2016-10-30 16:24 | 只看该作者
用的库函数

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

18

帖子

0

粉丝