Цитата(stoker @ Apr 16 2015, 15:11)

У вас входной тракт как выполнен? Стоят ли входные буферные усилители, может активные фильтры по каналам?
В двух вариантах - на одном входе AD8628, операционник, на трех - конденсаторы 1мкф керамика и резистивный делитель. Результат один и тот же. В программе приходится вычитать 7 отсчетов. Чтение АЦП по готовности, в прерывании:
Код
__irq void ADC_int(void) { //Прерывание от АЦП бит DRDY. Время выполнения 2мкс
//Канал 2
if (*ADC_SR & 4) { //Проверка готовности канала EOC2
ADC_ch2 = *ADC_CDR2-7; //Чтение канала сбрасывает канальный бит прерывания EOC2
*ADC_CHER = 8;} //Включить канал 3
//Канал 3
if (*ADC_SR & 8) { //Проверка готовности канала EOC3
ADC_ch3 = *ADC_CDR3-7; //Чтение канала сбрасывает канальный бит прерывания EOC3
*ADC_CHER = 16;} //Включить канал 4
//Канал 4
if (*ADC_SR & 16) { //Проверка готовности канала EOC4
ADC_ch4 = *ADC_CDR4-7; //Чтение канала сбрасывает канальный бит прерывания EOC4
*ADC_CHER = 32;} //Включить канал 5
//Канал 5
if (*ADC_SR & 32) { //Проверка готовности канала EOC5.
ADC_ch5 = *ADC_CDR5-7; //Чтение канала сбрасывает канальный бит прерывания EOC5
*ADC_CHER = 64; } //Включить канал 6
//Канал 6
if (*ADC_SR & 64) { //Проверка готовности канала EOC6
ADC_ch6 = *ADC_CDR6-7; //Чтение канала сбрасывает канальный бит прерывания EOC6
*ADC_CHER = 128;} //Включить канал 7
//Канал 7
if (*ADC_SR & 128) { //Проверка готовности канала EOC7
ADC_ch7 = *ADC_CDR7-7; //Чтение канала сбрасывает канальный бит прерывания EOC7
*ADC_CHER = 4;} //Включить канал 2
//Общая ветвь
*ADC_CR=(1<<1); //Начать преобразование
*AIC_EOICR = 1;} //__irq void ADC_int(void)