打印
[电子元器件]

AD7657读出来的14位补码数据该怎么处理呀

[复制链接]
1406|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
windit|  楼主 | 2014-6-20 10:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
xudongdong91| | 2016-5-13 17:02 | 只看该作者
int16_t advalue;

/* 14位数据,补码运算 */
advalue <<= 2;
advalue >>=2;

result = advalue * 10.0 / 16384 - 5;

看过C语言的书上写的是,无符号右移后再左移高位用0补齐。而有符号数最高位(符号位)为1时,左移用0还是1补齐不确定。实际测试中,用arm Cortex-M4,win7 ,Ubuntu中测试,当符号位为1时,右移最高位用1补

使用特权

评论回复
板凳
fzyuan| | 2016-5-13 18:13 | 只看该作者
2个字节数据分别左移2位放入一个“整形与2个字符”的联合体,直接读出整形就可以了。

使用特权

评论回复
地板
凡尘帅| | 2017-5-26 15:44 | 只看该作者
专做ADI,原装现货和海外订货,接收全系列询价。有需要请联系我,QQ267416049

使用特权

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

本版积分规则

13

主题

20

帖子

2

粉丝