[an error occurred while processing this directive]
|
Здается, что с прогой что-то не то.
У меня к AIN0 основное питание, к AIN1 аккумулятор. И каждые 50 млс фоновая процедура меняет канал и запускает преобразование.
if(power_cntrl.timer == 0)
{
if((power_cntrl.flags & (1 << POWER_CNTRL_FLAG_SAMPLING_COMPLETE)) == 0)
{
switch(power_cntrl.channel)
{
case POWER_CNTRL_CHNL_MAIN_POW:
ADCR &= ~(0xFF << ADCR_SEL_BIT);
ADCR |= (POWER_CNTRL_CHNL_BAT_POW << ADCR_SEL_BIT);
power_cntrl.channel = POWER_CNTRL_CHNL_BAT_POW;
break;
case POWER_CNTRL_CHNL_BAT_POW:
ADCR &= ~(0xFF << ADCR_SEL_BIT);
ADCR |= (POWER_CNTRL_CHNL_MAIN_POW << ADCR_SEL_BIT);
power_cntrl.channel = POWER_CNTRL_CHNL_MAIN_POW;
break;
default:
power_cntrl.channel = POWER_CNTRL_CHNL_MAIN_POW;
break;
}
power_cntrl.timer = POWER_CNTRL_ADC_SAMPLING_TIME;
power_cntrl.flags |= (1 << POWER_CNTRL_FLAG_SAMPLING_COMPLETE);
ADCR &= ~(7 << ADCR_START_BIT);
ADCR |= (1 << ADCR_START_BIT);
}
}
E-mail: info@telesys.ru