找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4402|回复: 4
收起左侧

关于HX711 24位AD 模块的一些问题

[复制链接]
ID:162935 发表于 2017-2-21 21:35 | 显示全部楼层 |阅读模式
unsigned long HX711_Read(void)        //增益128
{
        unsigned long count;
        unsigned char i;
          HX711_DOUT=1;
        Delay__hx711_us();
          HX711_SCK=0;
          count=0;
        EA = 1;
          while(HX711_DOUT);
        EA = 0;
          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();DELAY(0);
        HX711_SCK=0;  
        return(count);
}第一个问题; 程序中count的值怎么来的
第二问题;为什么要count++
第三个问题; count=count^0x800000;是什么意思
回复

使用道具 举报

ID:207046 发表于 2017-6-6 00:43 | 显示全部楼层
加一个问题:为什么要控制总中断EA的开关?
回复

使用道具 举报

ID:203572 发表于 2017-6-6 09:14 | 显示全部楼层
净云 发表于 2017-6-6 00:43
加一个问题:为什么要控制总中断EA的开关?

你仔细看一下hx711模块的资料和使用手册,因为程序完全是根据时序图来编写的。看懂时序图程序基本就懂了。
回复

使用道具 举报

ID:82765 发表于 2017-6-6 09:22 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ID:726650 发表于 2020-5-8 22:31 | 显示全部楼层
1.count的值是根据HX711传过来的连续24位电平信号计算得到的,2.HX711_DOUT高电平代表一,所以count++;3.将count与0x800000异或,也就是最高位取反
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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