CH58x芯片ADC

发布时间 2023-09-06 15:23:24作者: SweetTea_lllpc

电池电压采集参考:

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);