0 Usuarios y 1 Visitante están viendo este tema.
lo primero y principal es indicarle al ccs que los resultados de estos valores pasan de ser int o long a float....voltaje=(bin_lectura*P)+2.73;temperatura=(voltaje/0.01)-273;prueba asivoltaje=(float)((bin_lectura*P)+2.73);temperatura=(float)((voltaje/0.01)-273);si no se lo indicas no te los transforma....Suerte
como aun me considero nuevato en ccs.. tengo una duda..no basta con declarar a voltaje y temperatura como un float al inicio del programa?...cual es la finalidad de poner:voltaje=(float)((bin_lectura*P)+2.73);saludos
Cita de: jhozate en 16 de Agosto de 2009, 11:26:27como aun me considero nuevato en ccs.. tengo una duda..no basta con declarar a voltaje y temperatura como un float al inicio del programa?...cual es la finalidad de poner:voltaje=(float)((bin_lectura*P)+2.73);saludosVoltaje y Temperatura seguro ya están definidos como float. En cambio bin_lectura es el valor de la conversión analógica y es de 16 bits. En este caso por ejemplo, bin_lectura y P son long, entonces si al multiplicarlos da mayor a 65536 se trunca y se pierde su valor. Al colocar ((float)(bin_lectura*P)) los trata como float, el resultado no se trunca y nos da el valor deseado Saludos!