Esto teniendo un problema con el siguiente programa, y es que me sale la mitad de valor que deberia, sabeis pq puede ser?
#include <16F877a.h>
#include <STDLIB.H>
#use delay(clock=4000000)
#fuses XT, NOPROTECT, NOPUT, NOWDT, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#byte portb=6
#include <lcd.c>
void main(void)
{
float const resoluc=5.0/256.0;
int8 valor=0;
float kk=0;
set_tris_b(0x00);
set_tris_a(0xFF);
portb=0x00;
lcd_init();
lcd_gotoxy(1,1);
setup_adc_ports(RA0_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
delay_us(20);
while(true)
{
valor=read_adc();
kk=valor*resoluc;
lcd_gotoxy(1, 1);
printf(lcd_putc,"fconv: %d",valor);
lcd_gotoxy(1, 2);
printf(lcd_putc,"medida: %f",kk);
delay_ms(500);
}
}