[其他ST产品] 用stm32单片机写程序驱动hx711,输出的AD值一直在增加,请问如何解决

[复制链接]
599|1
 楼主| cr315 发表于 2024-3-23 17:38 | 显示全部楼层 |阅读模式
用STM32单片机写程序驱动hx711,无论传感器上是否放重物,输出的AD值一直在增加,我用的是单片机内部时钟,配置为8MHz,程序如下:
uint32_t HX711_Read(void)  //读HX711芯片输出的数据。
{
        uint32_t val = 0;
        uint8_t i = 0;

        GPIO_SetBits(GPIOA,ADDO);    //DOUT=1
        GPIO_ResetBits(GPIOA,ADSK);    //SCK=0
        while(GPIO_ReadInputDataBit(GPIOA,ADDO));   //等待DOUT=0  
        delay_us(1);
        for(i=0;i<24;i++)
        {
                GPIO_SetBits(GPIOA,ADSK);    //SCK=1
                val=val<<1;
                delay_us(1);  
                GPIO_ResetBits(GPIOA,ADSK);    //SCK=0
                if(GPIO_ReadInputDataBit(GPIOA,ADDO)) val++;   //DOUT=1
            delay_us(1);
        }
        GPIO_SetBits(GPIOA,ADSK);//25次脉冲
        val = val^0x800000;
        delay_us(1);
        GPIO_ResetBits(GPIOA,ADSK);
        delay_us(1);  
        return val;  
}
小夏天的大西瓜 发表于 2024-3-25 10:48 | 显示全部楼层
输出的AD值一直在增加那应该是程序存在问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1466

主题

4980

帖子

0

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