jfmateos2 no tomes todo a literal, lo de 2Tad es para los 16F, para el pic que tu usas es 3Tad. Te pego el extracto del datasheet
For next conversion, go to step 1 or step 2, as required. The A/D conversion time per bit is
defined as TAD. A minimum wait of 3 TAD is required before the next acquisition starts.For correct A/D conversions, the A/D conversion clock (TAD) must be as short as possible but greater than the
minimum TAD (see parameter 130 in Table 28-29 for more information).
Table 21-1 shows the resultant TAD times derived from the device operating frequencies and the A/D clock
source selected.Así que no te calientes mucho con eso de cuanto esperar ni nada de eso, si trabajas por encuesta utiliza read_adc(ADC_START_AND_READ), si trabajas por INT utiliza las otras dos.
No estoy de acuerdo o no te comprendí, según lo que yo sé hay que esperar si o si. Los 3Tad entre Starts de las conversiones es una limitante del módulo.
jfmateos2 si lo que sigue al read ocupa 3Tad entonces no tendrás que preocuparte. Ese warning puede que te lo de el MPLAB ni bien enciendes el módulo A/D. Si te lo hace siempre en todas las ocurrencias del bucle entonces sí, de seguro estas haciendo algo mal.
Lo que tienes que hacer es calcular el TAD, para ello debieras conocer de cuanto es la división que estas usando en el módulo A/D. Si el CCs te setea todo en forma automática para saber bien hará que digas como queda cargado el registro ADCON2.
Otra cuestión que no es menor, fíjate que te está advirtiendo que estás queriendo leer el canal 12 del A/D siendo que tu micro no lo tiene.