А нельзя типа такого?
Код
short int adc_mass[3]; // или int16_t в духе С99 ???
char *adc_byte; // или int8_t в духе С99 ???
adc_byte = (char*)adc_mass;
*(adc_byte++) = LOW_BYTE_ADC1; // не знаю как называются, но
*(adc_byte++) = HIGH_BYTE_ADC1; // допустим так...
/*
и т.д. для остальных каналов АЦП
*/
Я есесно в пиках и хитеке ни гугу. Это, так сказать, лишь идея....