Autor Tema: En el modo debug no reconoce las vaiablews float  (Leído 10868 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado antoniopa

  • PIC12
  • **
  • Mensajes: 72
En el modo debug no reconoce las vaiablews float
« en: 01 de Enero de 2012, 08:25:01 »
hola, en un programa que estoy ejecuntando en un pic con proteus me he percatado que las variables float e int32 no las reconoce, aunque el programa fucjiona bien, no puedes leer el valor de esas variables, sabeis algo al respecto???

Gracias.,

Desconectado fjalex

  • PIC18
  • ****
  • Mensajes: 405
    • Proteus - Hubor
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #1 en: 01 de Enero de 2012, 16:12:41 »
Para ayudarte, te puedo verificar lo siguiente:

Yo utilizo el compilador c18 de microchip y un micro tipo 18F2520 en mi diseño. Si defino una variable como long (entero de 32 bits) la puedo visualizar correctamente desde la ventana PIC18 CPU VARIABLES, definiéndola como unsigned integer.

El tema de los float es más complicado y, con sinceridad no lo domino totalmente. El problema es que el formato float hay diversas formas de implementarlo. En concreto proteus al menos maneja tres cuando simula PIC: IEEE FLOAT, HITECH FLOAT y MICROCHIP FLOAT. Dependiendo del compilador que has usado se genera el fichero para simular con uno u otro.

Yo, en la configuración que uso, tengo que hacer lo siguiente para visualizar las variables float. Sobre el micro, pulsa con el botón derecho del ratón para que aparezca el menú contextual y selecciona "edit properties". En la ventana de diálogo marca la casilla "edit all properties as text" y añade la linea siguiente:

{DT_FLOAT=MICROCHIP_BIGENDIAN}

Con ello se visualizan los valores float.

Pero, desgraciadamente, no sé lo suficiente para decirte que tendrás que utilizar tú en tu caso.

Espero que te pueda servir de ayuda.


Desconectado antoniopa

  • PIC12
  • **
  • Mensajes: 72
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #2 en: 01 de Enero de 2012, 16:31:22 »
querido fjalex:

He hecho lo que me has recomendado y fuciona perfectamente, yo utilizo pcw de ccs de compilador. Podrias decirme de donde has obtenido tan valiosa información?

Muchas gracias.

Desconectado antoniopa

  • PIC12
  • **
  • Mensajes: 72
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #3 en: 01 de Enero de 2012, 16:47:04 »
Vaya, ahora me ocurre algo curioso, una vez conseguido que proteus me lea la variable float correctamente, si esta la usop en un lcd con la función printf en formato %3.1f, el programa va bien ,p pero el proteus lee un valor de la variable tatalmente erroneo, si la variable es del orden de 0.12, el proteus lee 1.2e-31.

Saludos.

Desconectado fjalex

  • PIC18
  • ****
  • Mensajes: 405
    • Proteus - Hubor
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #4 en: 01 de Enero de 2012, 16:48:01 »
Bueno el inconveniente de ser el distribuidor de Proteus en España es que tengo que leer muchas incidencias y buscarle soluciones. En muchas ocasiones no tengo respuesta y tengo que preguntar a Labcenter.

La ventaja, es que a lo largo de los años, en las respuestas que proporcionan, ellos van dando muchas pistas y soluciones muy interesantes. Como llevo varios años, voy apuntando las interesantes y, en casos como éste, tiro de historial.

A veces, como hoy, he dado en el clavo y que quedo muy bien. Pero no te creas, el mundo de los parámetros utilizados en la simulación es complejísimo y no tiene documentación accesible. Además, algunos de ellos se van añadiendo para solucionar problemas concretos que reportan los usuarios y se mantienen en las nuevas versiones desarrolladas pero sin documentar explícitamente en el manual de usuario.

Hace unos días en un post de este mismo foro, otro colega modificó el parámetro GMIN para solucionar un problema de simulación y la información la sacó comparando el funcionamiento de proteus y orcad-pspice. Así que tiré de documentación de profesores de electrónica amigos que usan pspice y añadí algún punto más al historial de incidencias. Desgraciadamente la vida del usuario del simulador es muy dura.

Un saludo.

Desconectado antoniopa

  • PIC12
  • **
  • Mensajes: 72
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #5 en: 01 de Enero de 2012, 16:55:37 »
Si, el del parámetro GMIN fui yo, ya explique como lo saque, gracias de nuevo por la aportación, por cierto, si en vez de microchip pones IEEE tambien funciona, auque como digo , al poner la variable en priotf lee mal el valor.

Saludos

Desconectado fjalex

  • PIC18
  • ****
  • Mensajes: 405
    • Proteus - Hubor
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #6 en: 01 de Enero de 2012, 17:02:44 »
Vaya, ahora me ocurre algo curioso, una vez conseguido que proteus me lea la variable float correctamente, si esta la usop en un lcd con la función printf en formato %3.1f, el programa va bien ,p pero el proteus lee un valor de la variable tatalmente erroneo, si la variable es del orden de 0.12, el proteus lee 1.2e-31.

Saludos.

Vaya por Dios, con lo bien que habíamos quedado.

Desconectado antoniopa

  • PIC12
  • **
  • Mensajes: 72
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #7 en: 01 de Enero de 2012, 17:12:22 »
nada nada, sollucionado ¡¡¡ La WATHC WINDOW se habia quedado colgada, he borrado la variable la he vuelto a poner y ya no falla, EXCELENTE..

Saludos

Desconectado fjalex

  • PIC18
  • ****
  • Mensajes: 405
    • Proteus - Hubor
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #8 en: 01 de Enero de 2012, 18:19:36 »
Me alegro.  :-/

Un saludo.

Desconectado guillotte

  • PIC10
  • *
  • Mensajes: 23
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #9 en: 10 de Junio de 2012, 18:31:52 »
He usado las intrucciones ocmo dice, pero no me funciona. no me lo reconoce y necesito saber que es  lo q me esta convirtiendo para ver si funciona. te insertaria la imagen pero no lo puedo pegar. Si alquien le paso lo mismo le agradeceria q me comentara como soluciono su problema.
GRACIAS

Desconectado fjalex

  • PIC18
  • ****
  • Mensajes: 405
    • Proteus - Hubor
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #10 en: 11 de Junio de 2012, 03:50:39 »
Poco más te podemos añadir a lo que ya hemos escrito en este hilo. La solución aportada ha funcionado en nuestro caso.

¿qué compilador utilizas?
¿Que extensión de fichero estás utilizando para la simulación?
¿Has utilizado la variable DT_FLOAT y con qué valor has probado?

Para añadir una copia de pantalla,utiliza la opción "opciones adicionales..." debajo del cuadro donde escribimos el texto del mensaje y usa el botón "Seleccionar archivo".

Un abrazo.


Desconectado guillotte

  • PIC10
  • *
  • Mensajes: 23
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #11 en: 11 de Junio de 2012, 20:57:34 »
COMPILADOR EL CCS C. Y LO PRUEBO CON EL PROTEUS LO AGREGO AL MICRO 16F877 Y HAGO UN DEBUG Y LAS VARIABLES ENTERAS LAS MUESTRAS CORRECTAMENTE PERO EL FLOAT NO.
AGREGUE TAMBIEN LA PALABRAS "{DT_FLOAT=MICROCHIP_BIGENDIAN}" PERO NADA.

EN LA IMAGEN TE MUESTRA LA DIRECCION TODO PERO NO MUESTRA DATO ALGUNO.
DESDE YA MUCHAS GRACIAS. POR SU TIEMPO.

Desconectado fjalex

  • PIC18
  • ****
  • Mensajes: 405
    • Proteus - Hubor
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #12 en: 12 de Junio de 2012, 04:15:24 »
Estimado guillote:

Dos apuntes, a ver si acertamos:

1) La simulación para visualizar las variables tipo float en programas compilados con CSS, se tienen que hacer utilizando el fichero *.cof. Supongo que es el que estás utilizando, pero por si acaso te lo digo.
2) El parámetro DT_FLOAT=MICROCHIP_BIGENDIAN se implementó a partir del año 2011 en Proteus. Desgraciadamente no te puedo decir con qué versión de Proteus se corresponde esta fecha. Pero es posible que en versiones antiguas no funcione.

Si deseas mandarme el fichero dsn y el cof por un correo privado, puedo probarlo en mi ordenador y salimos de duda respecto a lo de la versión.

A ver si acertamos con el problema.
« Última modificación: 12 de Junio de 2012, 14:08:30 por fjalex »

Desconectado guillotte

  • PIC10
  • *
  • Mensajes: 23
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #13 en: 12 de Junio de 2012, 10:40:18 »
GRACIAS POR TU RESPUESTA AHI TE ENVIE LOS ARCHIVOS.- POR FAVOR AVISAME SI TE LLEGO

SALUDOS

Desconectado fjalex

  • PIC18
  • ****
  • Mensajes: 405
    • Proteus - Hubor
Re: En el modo debug no reconoce las vaiablews float
« Respuesta #14 en: 12 de Junio de 2012, 14:22:20 »
Estimado guillote:

He recibido los ficheros y a mí me funciona correctamente. Te adjunto una copia de la ventana de inspección. Puedes observar que en este momento la variable x tiene un valor float. En otros momentos, también lo tiene la variable z.

Te adjunto también un pantallazo con la variable DT_FLOAT tal y como se la asigné. En el fichero que me enviaste no estaba asignada.

Mi versión de Proteus es la 7.10 sp1

Vamos a pelearlo, que ya ves que funciona. Tenemos que encontrar que tienes tú diferente. Por favor, asegúrate que tienes la variable como yo te la muestro en el pantallazo. En último lugar te reenvío a tí el fichero modificado (ahora no estoy en la oficina, pero si mañana no lo has logrado te lo mando).

Un abrazo.


 

anything