打印
[51单片机]

HX711_dout不能被拉低 一直等待 求帮助

[复制链接]
楼主: ST零点
手机看帖
扫描二维码
随时随地手机跟帖
21
xyz549040622| | 2014-7-10 11:40 | 只看该作者 回帖奖励 |倒序浏览
ST零点 发表于 2014-7-10 11:09
怎么读数据 还望版主大人指教。。。我是菜鸟。。。
//****************************************************
//读取HX711
//****************************************************
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);
}

这个不就是读数据么

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
ST零点 + 1 呜呜~~
22
ST零点|  楼主 | 2014-7-10 14:52 | 只看该作者
xyz549040622 发表于 2014-7-10 11:40
这个不就是读数据么

事实证明 我读不出数据来。。。。。。。

使用特权

评论回复
23
xyz769| | 2014-7-10 21:25 | 只看该作者
while(HX711_DOUT);

这个换成

while(HX711_SCK);

使用特权

评论回复
24
ST零点|  楼主 | 2014-7-12 10:24 | 只看该作者
xyz769 发表于 2014-7-10 21:25
while(HX711_DOUT);

这个换成

不行啊,还是不显示重量。。。

使用特权

评论回复
25
xb402471851| | 2014-8-5 11:24 | 只看该作者
楼主问题解决了吗?同求

使用特权

评论回复
26
xb402471851| | 2014-8-6 17:50 | 只看该作者
终于解决了,我的原因好像是用P1或P3口控制的时候,时钟和数据口不能与单片机正常通信,单P2口就可以。不知道谁能解释一下原因?

使用特权

评论回复
27
xb402471851| | 2014-8-6 17:51 | 只看该作者

使用特权

评论回复
28
xyz549040622| | 2014-8-6 21:20 | 只看该作者
xb402471851 发表于 2014-8-6 17:50
终于解决了,我的原因好像是用P1或P3口控制的时候,时钟和数据口不能与单片机正常通信,单P2口就可以。不知 ...

一摸一样的端口,为什么P2就可以呢。。。

使用特权

评论回复
29
xb402471851| | 2014-8-7 10:07 | 只看该作者
我看了下我开发板的原理图,所有的IO口都外接了上拉电阻,唯独我用的两个口没接,原因是在这吗?

使用特权

评论回复
30
xb402471851| | 2014-8-7 10:08 | 只看该作者
xyz549040622 发表于 2014-8-6 21:20
一摸一样的端口,为什么P2就可以呢。。。


我看了下我开发板的原理图,所有的IO口都外接了上拉电阻,唯独我用的两个口没接,原因是在这吗?

使用特权

评论回复
31
xyz549040622| | 2014-8-7 10:15 | 只看该作者
这个必须是重要原因

使用特权

评论回复
32
xb402471851| | 2014-8-7 15:52 | 只看该作者
xyz549040622 发表于 2014-8-7 10:15
这个必须是重要原因

能否指点一二?

使用特权

评论回复
33
xyz549040622| | 2014-8-7 16:16 | 只看该作者
xb402471851 发表于 2014-8-7 15:52
能否指点一二?

你是指你接无上拉的IO,HX711正常工作
接有上拉的IO,HX711不正常工作,对吧

使用特权

评论回复
34
xb402471851| | 2014-8-7 16:23 | 只看该作者
xyz549040622 发表于 2014-8-7 16:16
你是指你接无上拉的IO,HX711正常工作
接有上拉的IO,HX711不正常工作,对吧 ...

是的

使用特权

评论回复
35
xyz549040622| | 2014-8-7 17:00 | 只看该作者
xb402471851 发表于 2014-8-7 16:23
是的

与DOUT相连的MCU接口应设置为输入口,并且不接任何拉高或拉低电阻,以减少MCU与ADC之间的电流交换(干扰)。 这句话来自官网。。。

使用特权

评论回复
36
xb402471851| | 2014-8-8 09:09 | 只看该作者
xyz549040622 发表于 2014-8-7 17:00
与DOUT相连的MCU接口应设置为输入口,并且不接任何拉高或拉低电阻,以减少MCU与ADC之间的电流交换(干扰 ...

看到了,3Q!

使用特权

评论回复
评论
天凉好个秋 2016-3-11 14:24 回复TA
有个问题,如果按官方网站的这句话,就变成dout这个引脚的输出能力是多大? 
37
ST零点|  楼主 | 2014-8-8 10:58 | 只看该作者
xb402471851 发表于 2014-8-5 11:24
楼主问题解决了吗?同求

我的问题是硬件问题,程序什么的什么都没改,换了两次HX711模块才好。。只想说硬件怎么坏掉的我好好奇。。。而且还坏了俩。。。

使用特权

评论回复
38
秋思| | 2015-3-20 14:47 | 只看该作者
我也遇到相同问题了,在while(ADDO);这里死循环。
ADDO=P0^0,P0^0没有接上拉或下拉。

使用特权

评论回复
39
laoxu| | 2015-3-21 06:20 | 只看该作者
估计HX711 数据控制线接错的可能性极大。

使用特权

评论回复
40
ninicaoyuan| | 2015-12-31 18:08 | 只看该作者
我的原因是没给电,郁闷惨了,不过还是发现了!

使用特权

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

本版积分规则