使用HX711变送器模块+5kg的传感器。
#define HX711_DATA PEin(0)
#define HX711_SCK PEout(1)
void HX711_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStructure);
GPIO_SetBits(GPIOE, GPIO_Pin_1);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStructure);
}
uint8_t HX711_GetValue(uint32_t *value)
{
int retry = 0;
uint32_t ret = 0;
HX711_SCK = 0;
while (retry
HX711_SCK = 1;
delay_us(1);
ret = ret
if (HX711_GetValue(&value) == 0)
{
printf("0x%x\t%d\r\n", value, value - zero);
if (value |