Цитата(IDE @ May 3 2008, 18:52)

Переключаю в прерываниии - не работает!
Пропускайте по одному преобразованию
Я делаю так:
CODE
#pragma vector=ADC_vect
__interrupt void AdcISRHandler(void)
{
U16 Val = ADC;
if (adcContext.DummyCycle)
{ // restart current channel
adcBeginConversion( adc_GetMuxValue( adcContext.CurrentChan ) );
adcContext.DummyCycle = FALSE;
}
else
{
U8 currChan = adcContext.CurrentChan;
adcContext.CurrentChan += 1;
if (adcContext.CurrentChan > MUX_LAST_INDEX)
{
adcContext.lock = 0;
adcContext.CurrentChan = 0;
}
else
{
adcBeginConversion( adc_GetMuxValue( adcContext.CurrentChan ) );
adcContext.DummyCycle = TRUE; // <-- чтобы игнорировать результат
}
// handle current conversion result
adcUpdateStatistics( currChan, Val );
}
}