CH58x芯片ADC
电池电压采集参考:
ADC_InterBATSampInit();
for(i = 0; i < 20; i++)
{
abcBuff[i] = ADC_ExcutSingleConver(); // 连续采样20次
}
for(i = 0; i < 20; i++)
{
CountBat += abcBuff[i];
if(i == 0)
{
min_number = abcBuff[i];
max_number = abcBuff[i];
}
min_number = ((min_number > abcBuff[i]) ? abcBuff[i] : min_number); //软件滤波
max_number = ((max_number < abcBuff[i]) ? abcBuff[i] : max_number);
}
printf("min_number = %d, max_number = %d\n", min_number, max_number);
CountBat = (CountBat - min_number - max_number) / 18; //删除最小与最大值
printf("AverageCountBat = %d\n", CountBat);
while(1);