Hola resulta que estoy empezando a programar en C, (me canse de los limites y retos de asm).. en fin, estoy empezando con la cenversion ADC, tengo el codigo, la conversion se me realiza perfectamente, hago los calculos y lo que me muestra es lo correcto, por lo que la conversion esta bien, pero el bendito proteus me muestra miles de warnings diciendome lo siguiente:
"ADC conversion started before "wait" time has expired following previus conversion or channel change"
Sera que alguien seria tan amable de revisar mi codigo y decirmen porque me sale eso que me tiene mareado tanto warning XD
gracias
PD: el codigo...
#include <16f877a.h>
#device adc=8;
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP
#use delay (clock=4000000)
long temperatura=0;
void main(void)
{
setup_adc_ports(NO_ANALOGS);
setup_adc_ports(RA0_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
setup_counters(RTCC_INTERNAL,RTCC_DIV_256);// TIMER0: Clock Interno, Presescaler 256.
set_adc_channel(0); //Canal 0.
set_timer0(252); //T = (256 - precarga) * Preescaler * 4 / Fosc --->>> precarga=252
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
while(1)
{
temperatura=read_adc();
}
}
#int_TIMER0
void Timer0_isr(void)
{
output_d(temperatura);
set_timer0(252);
}