Autor Tema: Grabar datos como enteros o como caracteres?  (Leído 2195 veces)

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

Desconectado badtzdizzy

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 234
Grabar datos como enteros o como caracteres?
« en: 12 de Octubre de 2006, 20:13:07 »
Hola a todos

Me gustaria que me ayudaran con esto, lo que sucede es que quiero almacenar los datos que obtengo de un gps pero no se como convenga mas si como enteros o caracteres, en mi caso si los grabo como caracteres pues me evito transformaciones pero ocupo mas espacio y si los grabo como enteros ahorro espacio pero tengo que realizar transformaciones, es aqui donde tengo mis dudas del metodo a utilizar. Espero me puedan ayudar.

Saludos y gracias

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Grabar datos como enteros o como caracteres?
« Respuesta #1 en: 13 de Octubre de 2006, 01:42:42 »
Habría que tener más información para decantarse por uno u otro método. ¿Es una limitación el espacio disponible?, ¿cuántos datos tienes que almacenar y cuánta memoria tienes?

Por otra parte, habría que analizar en qué consiste la transformación; ¿los datos te llegan del GPS en formato string?, ¿qué rango de valores tienen esos datos?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Grabar datos como enteros o como caracteres?
« Respuesta #2 en: 13 de Octubre de 2006, 09:58:31 »
Hola a todos

Me gustaria que me ayudaran con esto, lo que sucede es que quiero almacenar los datos que obtengo de un gps pero no se como convenga mas si como enteros o caracteres, en mi caso si los grabo como caracteres pues me evito transformaciones pero ocupo mas espacio y si los grabo como enteros ahorro espacio pero tengo que realizar transformaciones, es aqui donde tengo mis dudas del metodo a utilizar. Espero me puedan ayudar.

Saludos y gracias

Pues debes ver qué te conviene en tu caso, en función de los recursos de que dispones.

Si te sobra memoria, entonces guardalo así tal como viene y te ahorras hacer la rutina de almacenamiento.

Si no te sobra memoria pero sí tiempo de ejecución, entonces te conviene hacer la conversión.

Si quieres hacer un "almacenamiento continuo" de estos datos, por ej, en una memoria externa, entonces ahí sí tal vez te convenga ahorrar el mayor espacio posible.   

Hablando en lenguaje no académico, guardar números en formato ASCII es lindo "visualmente" para los humanos pero no se lleva muy bien con los microcontroladores... no se puede sumar, restar, ni nada por el estilo (al menos no con las operaciones convencionales).

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado badtzdizzy

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 234
Re: Grabar datos como enteros o como caracteres?
« Respuesta #3 en: 13 de Octubre de 2006, 12:10:51 »
Gracias a ambos por sus respuestas

En general quiero guardar una cadena que voy a ir formando con la latitudlongitudvelocidadsateliteshorafecha que lleguen de un gps, asi que practicamente con estos datos no voy a realizar ninguna operación, hay otros datos que necesitare manipular asi que estos los tendré que almacenar como enteros. Tomando en cuenta lo que me dicen pues yo creo que lo mejor seria almacenar los datos tal cual lleguen porque no dispongo de mucho tiempo de ejecución y respecto a la memoria pues voy a utilizar cuatro memorias seriales de 512kb. Voy a empezar a hacerlo y ya les iré contando mis experiencias.

Saludos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Grabar datos como enteros o como caracteres?
« Respuesta #4 en: 13 de Octubre de 2006, 13:31:13 »
Si no tienes problemas de memoria, no los conviertas. Probablemente inviertas más recursos del PIC en el software de conversión que en almacenar directamente.
Sin embargo, no creo que el problema sea de velocidad de proceso. Por muy rápido que lleguen los caracteres desde el GPS, estoy seguro que al PIC le da tiempo de convertirlos, almacenarlos y fumarse un puro antes que llegue la siguiente cadena.

Desconectado quirogaareal

  • PIC16
  • ***
  • Mensajes: 180
Re: Grabar datos como enteros o como caracteres?
« Respuesta #5 en: 13 de Octubre de 2006, 14:33:06 »
Hola :

Yo en algun momento tuve que usar algo similar pero en otra aplicacion,  fijate en el manual de ayuda del ccs la instruccion ITOA 

espero que te sirva.

saludos desde cordoba argentina


Recuerda : Si una mujer te ama de verdad no te pedira ni Matrimonio, Ni concubinato , Ni hijos, No te mentira , ni buscara que cambies de opinion con respecto a las tres primeras opciones.

Saludos

desde Cordoba Argentina

Desconectado badtzdizzy

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 234
Re: Grabar datos como enteros o como caracteres?
« Respuesta #6 en: 13 de Octubre de 2006, 15:15:31 »
Gracias por el tip quirogaareal, y respecto a lo que me dices Nocturno pues voy a tomar datos cada minuto, así que voy a tener mucho tiempo para manipular la cadena solo tendria una duda, puesto que el timer0 se me estará desbordando cada 6.4 ms, crees que tenga algun problema para los demas procesos??

Saludos y gracias a todos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Grabar datos como enteros o como caracteres?
« Respuesta #7 en: 13 de Octubre de 2006, 15:45:24 »
Haría falta saber qué micro utilizas, a qué frecuencia, qué hace la interrupción del timer (cuanto dura) y cuáles son los demás procesos (cuanto duran) para ver si todo encaja bien.

Desconectado badtzdizzy

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 234
Re: Grabar datos como enteros o como caracteres?
« Respuesta #8 en: 13 de Octubre de 2006, 19:20:11 »
Ok, dejame estructurar un poco el programa y lo subo, de hecho en la interrupción solo leo el contador del timer1 y levanto una bandera y despues adquiero los datos y los guardo en la memoria.

El lunes lo subo

Gracias por todo