olha ai uma outra alteração que fiz e novos comentarios:
include <16f874A.h>
#device adc=10//não deixe de colocar isto
#include <MATH.h> //não deixe de colocar isto
#fuses HS,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP,NOCPD,WRT
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
main()
{
float value;//o valor retornado tem 10 bits nao pode ser armazenado em um int,poderia ser ate em um int16,coloquei float devido ao resultado
set_tris_b(0x00);
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
while (TRUE)
{
delay_us(50);//nao retire esse delay ja que sao necessarios 20us para carregar o capacitor interno
value=read_adc();
output_high(PIN_B7);//entendi ja para que serve
value=(value*5)/1023;
printf("%1.2f
", value);//escreve na serial com duas casas decimais
}
}
inclui um tratamento na serial não deixe de colocar as linhas que adicionei,mesmo depois de eu ter falado sobre o erro de colocar
5/256,voce ainda continua????,ao inves de colocar uma const faça os calculos direto na linha da variavel
pode ter certeza que dara certo
obs:os erros apresentados foram devido ao numero de bits ,a conversao, e a quebra de linha que esqueci de colocar no printf!qual o porque dos 1000ms????