Hola, estoy intentando diseñar n termometro, para ello uso:
-LM35
-Entrada analogica PIC18F442 RA0
Y el código es el siguiente:
//Programa principal
void main(){
int16 value=0;
setup_adc_ports(RA0_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
while(1){
delay_ms(1000);
set_adc_channel(0);
value=2*read_adc();
}
}
value es la variable donde almaceno el valor de temperatura...el caso es que el resultado que da en la mitad del que es (por eso lo multiplico por 2) y el problema es que para numeros impares no me da el valor correcto (por eso de mutiplicarlo por 2). He intentado declarar value como float, pero teno el mismo problema..alguien sabe por qué ocurre esto?supongo que esta relacionad con la resolucion del ADC, pero no se como configurarlo...
Gracias de antemano!