Saludos kanaryes!
Pues no he trabajado con PICC Lite, sino con CCS; pero me imagino que el principio es muy parecido.
Por ahí en uno de mis mensajes te aporté un código, no sé si lo has visto, es este:
int conversion (int canal)
{
int value;
set_adc_channel(canal);
delay_us(20);
value=read_adc();
return(value);
}
y luego llamar a la función desde el main, por ejemplo:
V1=conversion(0);
V2=conversion(1);
De manera que desde el main, dentro del while, llamas a la función para convertir el canal analógico digital, y el canal que se está leyendo está guardado en la variable canal. Si colocas esa variable como global podrías leerla desde la función de la interrupción por ADC y listo, tienes qué pin estás leyendo....
También podrías hacer en el main algo más elegante como:
int pin=0;
// **********
Valor[pin]=conversion(pin);
pin++;
if (pin==3) pin=0;
Así pin tomaría los valores 0,1,2... y leería correspondientemente los canales 0,1 y 2 del pic, guardándolos en Valor[0], Valor[1] y Valor[2], respectivamente.
Bueno es una sugerencia.
No sé si eso es lo que estabas buscando... espero haberte ayudado en algo.
Ok nos leemos!
donde pin serían los valores