您好、E2E 专家!
你好。
我在称重应用中使用 ADS1232。 ADC 输出与输入不同。 可以帮帮我吗?
AVDD = 5V、VREF = 5V、数据速率= 10SPS
以下是我的代码。
unsigned long ADS1232_read ()
{
有符号长整型 adc_val = 0;
char cy_count = 0;
while (HAL_GPIO_ReadPin (GPIOB、GPIO_PIN_13));
HAL_DELAY (4);
对于(cy_count = 0;cy_count < 24;cy_count++)
{
adc_val = adc_val << 1;
HAL_GPIO_WritePin (GPIOB、GPIO_PIN_12、GPIO_PIN_SET);//clk 高电平
HAL_DELAY (4);//最小100ns
if (HAL_GPIO_ReadPin (GPIOB、GPIO_PIN_13))//data low /high
{
adc_val += 1;
}
HAL_GPIO_WritePin (GPIOB、GPIO_PIN_12、GPIO_PIN_RESET);//clk 低电平
HAL_DELAY (4);
}
HAL_GPIO_WritePin (GPIOB、GPIO_PIN_12、GPIO_PIN_SET);
HAL_DELAY (2);
HAL_GPIO_WritePin (GPIOB、GPIO_PIN_13、GPIO_PIN_SET);
HAL_DELAY (2);
HAL_GPIO_WritePin (GPIOB、GPIO_PIN_12、GPIO_PIN_RESET);
HAL_DELAY (2);
adc_val &= 0x7fffc0;
adc_val = adc_val >>6;
返回 adc_val;
}
根据输入重量、输出代码不准确。