[51单片机] HX711读回来值始终是2的23次方不变,无论输入是多少

[复制链接]
4477|12
 楼主| qin19931227 发表于 2015-5-22 22:29 | 显示全部楼层 |阅读模式
程序是芯片手册什么的,什么都不变,读回来值始终不变,一直是2的23次方,求助各位大神帮帮忙啊
程序代码:unsigned long HX711_Read(void)        //增益128
{
        unsigned long count;
        unsigned char i;         
            HX711_SCK=0;
            count=0;
          while(HX711_DOUT);
          for(i=0;i<24;i++)
        {
                  HX711_SCK=1;
                  count=count<<1;
                HX711_SCK=0;
                  if(HX711_DOUT)
                        count++;
        }
        HX711_SCK=1;
    count=count^0x800000;//第25个脉冲下降沿来时,转换数据
        HX711_SCK=0;  
        return(count);
}
fighting12 发表于 2015-5-29 21:49 | 显示全部楼层
楼主我也遇见相同的情况了,知道了怎么解决求告知一下!!!
fighting12 发表于 2015-5-29 21:52 | 显示全部楼层
你这个错误确实有点多啊。。。我给你一个你看看,看看你的错误。
void Delay__hx711_us(void)
{
        _nop_();
        _nop_();
}

unsigned long HX711_Read(void)        //ÔöÒæ128
{
        unsigned long count;
        unsigned char i;
          HX711_DOUT=1;
        Delay__hx711_us();
          HX711_SCK=0;
          count=0;
          while(HX711_DOUT);
          for(i=0;i<24;i++)
        {
                  HX711_SCK=1;
                  count=count<<1;
                HX711_SCK=0;
                  if(HX711_DOUT)
                        count++;
        }
        HX711_SCK=1;
    count=count^0x800000;//µÚ25¸öÂö³åϽµÑØÀ´Ê±£¬×ª»»Êý¾Ý
        Delay__hx711_us();
        HX711_SCK=0;  
        return(count);
}
qiushengdao 发表于 2015-12-5 22:12 | 显示全部楼层
你的那个hx711一直读到都是1,后来怎样解决
qiushengdao 发表于 2015-12-6 08:51 | 显示全部楼层
fighting12 发表于 2015-5-29 21:52
你这个错误确实有点多啊。。。我给你一个你看看,看看你的错误。
void Delay__hx711_us(void)
{

你的现在怎样呢?当初是什么问题,解决了吗?
34af9uc 发表于 2016-5-4 21:11 | 显示全部楼层
错误是不少啊再读手册 十遍加强 ** 以便理解
sck=0;;;



while(out)
24次
{
sck=1;;;
a=a|out;
sck=0;;;
a<<1;
}
sck=1;;;
sck=0;;;

宇飞天 发表于 2016-8-6 15:37 | 显示全部楼层
我的的也始终是一个值
怎么调都是这样
出了驱动程序还有可能是哪里出问题呢?
comprends 发表于 2016-8-30 11:27 | 显示全部楼层
这个问题都没解决吗?我也遇到这个问题了,不过我显示的是2^24。。好像是因为AVDD的电压与VCC的电压接近了
heishe1989 发表于 2016-8-31 17:21 | 显示全部楼层
同求解答
416356084 发表于 2016-8-31 18:00 | 显示全部楼层
称重24位ad?
baron423 发表于 2017-5-12 17:51 | 显示全部楼层
我的也是一直读取的值是最大值,拔掉芯片也不变,你怎么解决的
talkativefox 发表于 2017-7-26 09:20 | 显示全部楼层
我之前也遇到这个问题了,函数本身没错,修改delay时长就能读出数值了。
tangxiangyu 发表于 2018-4-6 18:03 | 显示全部楼层
同样的问题。。。解决了吗,楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

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