[51单片机] HX711_dout不能被拉低 一直等待 求帮助

[复制链接]
13629|44
xyz549040622 发表于 2014-7-10 11:40 | 显示全部楼层
ST零点 发表于 2014-7-10 11:09
怎么读数据 还望版主大人指教。。。我是菜鸟。。。
  1. //****************************************************
  2. //读取HX711
  3. //****************************************************
  4. unsigned long HX711_Read(void)        //增益128
  5. {
  6.         unsigned long count;
  7.         unsigned char i;
  8.           HX711_DOUT=1;
  9.         Delay__hx711_us();
  10.           HX711_SCK=0;
  11.           count=0;
  12.           while(HX711_DOUT);
  13.           for(i=0;i<24;i++)
  14.         {
  15.                   HX711_SCK=1;
  16.                   count=count<<1;
  17.                 HX711_SCK=0;
  18.                   if(HX711_DOUT)
  19.                         count++;
  20.         }
  21.         HX711_SCK=1;
  22.     count=count^0x800000;//第25个脉冲下降沿来时,转换数据
  23.         Delay__hx711_us();
  24.         HX711_SCK=0;  
  25.         return(count);
  26. }

这个不就是读数据么

评分

参与人数 1威望 +1 收起 理由
ST零点 + 1 呜呜~~

查看全部评分

 楼主| ST零点 发表于 2014-7-10 14:52 | 显示全部楼层
xyz549040622 发表于 2014-7-10 11:40
这个不就是读数据么

事实证明 我读不出数据来。。。。。。。
xyz769 发表于 2014-7-10 21:25 | 显示全部楼层
while(HX711_DOUT);

这个换成

while(HX711_SCK);
 楼主| ST零点 发表于 2014-7-12 10:24 | 显示全部楼层
xyz769 发表于 2014-7-10 21:25
while(HX711_DOUT);

这个换成

不行啊,还是不显示重量。。。
xb402471851 发表于 2014-8-5 11:24 | 显示全部楼层
楼主问题解决了吗?同求
xb402471851 发表于 2014-8-6 17:50 | 显示全部楼层
终于解决了,我的原因好像是用P1或P3口控制的时候,时钟和数据口不能与单片机正常通信,单P2口就可以。不知道谁能解释一下原因?
xb402471851 发表于 2014-8-6 17:51 | 显示全部楼层
xyz549040622 发表于 2014-8-6 21:20 | 显示全部楼层
xb402471851 发表于 2014-8-6 17:50
终于解决了,我的原因好像是用P1或P3口控制的时候,时钟和数据口不能与单片机正常通信,单P2口就可以。不知 ...

一摸一样的端口,为什么P2就可以呢。。。
xb402471851 发表于 2014-8-7 10:07 | 显示全部楼层
我看了下我开发板的原理图,所有的IO口都外接了上拉电阻,唯独我用的两个口没接,原因是在这吗?
xb402471851 发表于 2014-8-7 10:08 | 显示全部楼层
xyz549040622 发表于 2014-8-6 21:20
一摸一样的端口,为什么P2就可以呢。。。


我看了下我开发板的原理图,所有的IO口都外接了上拉电阻,唯独我用的两个口没接,原因是在这吗?
xyz549040622 发表于 2014-8-7 10:15 | 显示全部楼层
这个必须是重要原因
xb402471851 发表于 2014-8-7 15:52 | 显示全部楼层
xyz549040622 发表于 2014-8-7 10:15
这个必须是重要原因

能否指点一二?
xyz549040622 发表于 2014-8-7 16:16 | 显示全部楼层
xb402471851 发表于 2014-8-7 15:52
能否指点一二?

你是指你接无上拉的IO,HX711正常工作
接有上拉的IO,HX711不正常工作,对吧
xb402471851 发表于 2014-8-7 16:23 | 显示全部楼层
xyz549040622 发表于 2014-8-7 16:16
你是指你接无上拉的IO,HX711正常工作
接有上拉的IO,HX711不正常工作,对吧 ...

是的
xyz549040622 发表于 2014-8-7 17:00 | 显示全部楼层
xb402471851 发表于 2014-8-7 16:23
是的

与DOUT相连的MCU接口应设置为输入口,并且不接任何拉高或拉低电阻,以减少MCU与ADC之间的电流交换(干扰)。 这句话来自官网。。。
xb402471851 发表于 2014-8-8 09:09 | 显示全部楼层
xyz549040622 发表于 2014-8-7 17:00
与DOUT相连的MCU接口应设置为输入口,并且不接任何拉高或拉低电阻,以减少MCU与ADC之间的电流交换(干扰 ...

看到了,3Q!

评论

有个问题,如果按官方网站的这句话,就变成dout这个引脚的输出能力是多大?  发表于 2016-3-11 14:24
 楼主| ST零点 发表于 2014-8-8 10:58 | 显示全部楼层
xb402471851 发表于 2014-8-5 11:24
楼主问题解决了吗?同求

我的问题是硬件问题,程序什么的什么都没改,换了两次HX711模块才好。。只想说硬件怎么坏掉的我好好奇。。。而且还坏了俩。。。
秋思 发表于 2015-3-20 14:47 | 显示全部楼层
我也遇到相同问题了,在while(ADDO);这里死循环。
ADDO=P0^0,P0^0没有接上拉或下拉。
laoxu 发表于 2015-3-21 06:20 | 显示全部楼层
估计HX711 数据控制线接错的可能性极大。
ninicaoyuan 发表于 2015-12-31 18:08 | 显示全部楼层
我的原因是没给电,郁闷惨了,不过还是发现了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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