E não adianta tentar dividir o valor por 10, fazendo 0,045 porque então a variável faz o valor ser 4,5x10^-2 e o display continua mostrando 4,5 do mesmo jeito. Aliás, o problema ocorre para todos os valores numéricos entre 0 e 1. Entre 1e 5V não há erros.
Segue o fragmento do código para vocês verem e os comentários:
- Código: Selecionar todos
volt=media*5/1023; / / variável float volt recebe o resultado da conversão da variável média
floattostr(volt,result); / / é feita a conversão de float para string, para apresentação no display lcd
lcd_out(1,1,"VOLTAGEM="); / /imprime a palavra "voltagem" na primeira linha e primeira coluna do display
lcd_out(1,10,result); / /apresenta a string "result" à frente com o valor incorreto entre 0 e 1V.
delay_ms(500); / / aguarda 0,5s e repete a leitura do CAD.
Exemplo: Ao ler o valor 0,233 na variável float "volt", o valor é convertido para notação científica em 2,33e-001 e o display mostra 2.33 após a conversão do tipo float para string.
O compilador é o MikroC.
Aguardo uma ajuda.