La conversión de 'int' a 'float' en STM32 da siempre 0.0 como resultado

0

Simplemente quiero convertir el valor entero obtenido en 'ADC_CV' en un flotador. Sin embargo, siempre obtengo el resultado 0.0 en 'prueba' aunque 'ADC_CV' no es 0.

float test = 0.0;//initialize
uint16_t ADC_CV;
test = (float) (ADC_CV);

La unidad de punto flotante está habilitada.

EDITAR: Se utiliza IAR.

ADC_CV es el valor obtenido del ADC, verifiqué el valor, es alrededor de 2000 en mi aplicación.

También, probé con el siguiente código:

float testtt = 3.0;
uint16_t tconv = 200;

while(1)
{
 testtt = (float) tconv;
}

y cuando verifico el valor tanto de tconv como de testtt obtengo el error Error (col 1): símbolo desconocido o ambiguo

SOLUCIONADO La razón por la que funciona ahora es que he puesto el valor de ADC que se lee, así como la conversión a flotar en otro lugar que no se "actualiza" tan rápido como en el caso de ADC que muestrea muy rápido. Funciona perfectamente bien ahora.

Gracias a todos.

    
pregunta Ho Pam

0 respuestas

Lea otras preguntas en las etiquetas