El registro ADCON0 varía entre los procesadores de Microchip. Y las definiciones de Microchip varían para diferentes versiones de sus SDK / bibliotecas.
Suponiendo que "CHS < 4: 0 > Selección de bits de canal analógico" se aplique a su chip, todo esto significa que se reservan 5 bits contiguos de este registro para elegir una fuente de entrada analógica. Podrían ser del 1º al 5º bit. También podrían ser del cuarto al octavo bit.
La notación "ADCON0.CHS4" sugiere que solo está asignando un valor al bit CHS4 en el registro ADCON0. Para seleccionar una entrada analógica, debe asignar un valor a todos los bits de selección de canal. Suponiendo que los bits de CHS comienzan en la tercera posición de bit y todos los demás bits son cero o se cambiarán según sea necesario a 1 más adelante en su código:
ADCON0 = (0x14 << 2); // Select ADC Channel
O podemos extender su código original:
ADCON0.CHS0 = 0; // 0
ADCON0.CHS1 = 0; // 0
ADCON0.CHS2 = 1; // 1
ADCON0.CHS3 = 0; // 0
ADCON0.CHS4 = 1; // 1