单片机读取hx711的数据一直没有变化,压力传感器有压力变化,但是读取芯片的数据没有变化
代码:
```c
int main(void)
{
HX711_InIt ();
OLED_Init();
OLED_Clear();
while(1)
{
HX711_Read();
Delay_us (2);
HX711_Read();
Delay_us (2);
HX711_Read();
Delay_us (2);
Get_Maopi();
Get_Weight ();
OLED_ShowString (1,1,"weight =");
Get_Maopi ();
Delay_us (2);
Get_Weight ();
OLED_ShowNum (2,1,Weight_Shiwu ,7);
}
}
unsigned long HX711_Read(void)
{
unsigned long value= 0;
unsigned char i = 0;
GPIO_SetBits (GPIOB ,GPIO_Pin_7);
Delay_us (2);
GPIO_ResetBits (GPIOB ,GPIO_Pin_6);
Delay_us(2);
while(GPIO_ReadInputDataBit (GPIOB,GPIO_Pin_7)==1);//dengdaiADzhuanhuanjieshu
for(i=0;i<24;i++)
{
GPIO_SetBits (GPIOB ,GPIO_Pin_6);
value =value <<1;
GPIO_ResetBits (GPIOB ,GPIO_Pin_6);
if(GPIO_ReadInputDataBit(GPIOB ,GPIO_Pin_7)==1)
{
value ++;
}
}
GPIO_SetBits(GPIOB,GPIO_Pin_6 );
Delay_us(2);
value=value^0x800000;
GPIO_ResetBits (GPIOB ,GPIO_Pin_6);
Delay_us(2);
return (value);
}
void Get_Maopi() //获取初始值
{
Weight_Maopi = HX711_Read();
}
```
该回答引用ChatGPT
可能的原因包括:
该回答引用GPTᴼᴾᴱᴺᴬᴵ
有几个问题需要排查:
另外,代码中的 Get_Weight() 函数没有提供,如果问题还未解决,可以提供该函数的代码,以便进一步排查。