搜索
bottom↓
回复: 5

24位的称重AD转换芯片海芯HX711使用及其编码意义

[复制链接]

出0入0汤圆

发表于 2012-1-10 14:08:18 | 显示全部楼层 |阅读模式
24位的AD转换芯片HX711,
官方资料上面,
数据输出格式为二进制补码,
范围为最小0x800000,最大为0x7fffff,
请问这是什么意思?实际输出范围是多少?

官方参考程序:
        for(i=0;i<24;i++)
        {
                ADSK=1;
                Count=Count<<1;
                ADSK=0;
                  if(ADDO)Count++;
        }
        ADSK=1;
//        Count=Count^0x800000;
        ;
        ADSK=0;         
后边的异或运算是为了什么?


从网上搜到的有些程序还多加了一段
        for(i=0;i<24;i++)
        {
                ADSK=1;
                Count=Count<<1;
                ADSK=0;
                  if(ADDO)Count++;
        }
        ADSK=1;
//        Count=Count^0x800000;
        ;
        ADSK=0;         
/*        if((Count & 0x800000) == 0x800000)
        {
                Count = ~(Count - 1);
        }                  */

又是什么意思?
谢谢各位高手大侠!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2012-1-12 10:06:11 | 显示全部楼层

出0入0汤圆

发表于 2012-11-23 19:59:17 | 显示全部楼层
按照补码的理解
Count=Count^0x800000; 这里没什么意义,
最后这一段才是有用的
  if((Count & 0x800000) == 0x800000)
         {
                 Count = ~(Count - 1);
         }      这里是由补码求出其除符号位的原码的计算。

出0入0汤圆

发表于 2013-5-17 09:52:42 | 显示全部楼层
搞430的,搞了好久都没搞出来。。伤不起了。。

出0入10汤圆

发表于 2014-3-30 23:00:04 | 显示全部楼层
楼主明白Count=Count^0x800000什么含义了吗?看了几个程序有的有这句,有的把这句注释掉了。迷惑中。。。

出0入0汤圆

发表于 2014-9-4 15:19:57 | 显示全部楼层
同求解释 !!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 10:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表