关于HX711电子秤的问题求助

2019-07-21 07:31发布

最近在做一款电子秤,用的是HX711芯片,主控是STM32F103VET6, 电子秤模块.png ,称重原理图是这样的,我只写了一个HX711的驱动程序,读出来的值一直为16777215,即2^24,不管怎么改变压力传感器,一直都是这个数值,这个好像是最大值了,不知道问题出在哪了。E+E-的电压接近3.3V,和芯片的供电电压接近了。。所以是这个最大值吗,请教一下做过这个东西的人,提供一下解决办法,还是我的思路有问题了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
48条回答
comprends
2019-07-22 00:56
但好像又不对,这个传感器是我从另外一个秤上拆的,接在那个秤上可以工作,测得工作的输入电压为3.3V,信号对地电压为1.4V,怎么转接到HX711上就不行了,驱动代码如下
[mw_shl_code=c,true]unsigned long ReadCount(void)
{
    unsigned long Count;
    unsigned char i;

//        RCC->APB2ENR |= 1<<3;
//    GPIOB->CRL &= 0X00ffffff;
//    GPIOB->CRL |= 0X003000000;  
       
        GPIO_InitTypeDef  GPIO_InitStructure;
               
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);       

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,&GPIO_InitStructure);
       
   
    ADSK = 0;    //SCK=0
    Count = 0;
    while(ADDO);
    for (i = 0; i < 24; i++)
    {
        ADSK = 1;
        Count = Count << 1;
        ADSK = 0;
        if(ADDO) Count++;
    }
    ADSK = 1;
    Count = Count ^ 0x800000;
    ADSK = 0;
    return(Count);
}[/mw_shl_code]

串口打印的话就一句:                printf("DATA:%lu ",ReadCount());

一周热门 更多>