HX711源碼:
unsigned long Read_HX711(void)
{
unsigned long val1 = 0;
unsigned char i;
gpio_set_level(HX711_DATA_GPIO,1);
gpio_set_level(HX711_CLK_GPIO,0);
while(gpio_get_level(HX711_DATA_GPIO));
delay_us(10);
for(i = 0;i < 24;i++)
{
gpio_set_level(HX711_CLK_GPIO,1);
val1 = val1<<1;
delay_us(1);
gpio_set_level(HX711_CLK_GPIO,0);
if(gpio_get_level(HX711_DATA_GPIO))
val1++;
delay_us(1);
}
gpio_set_level(HX711_CLK_GPIO,1);
val1 = val1^0x800000;
delay_us(1);
gpio_set_level(HX711_CLK_GPIO,0);
delay_us(1);
return val1;
}
|