TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: badtzdizzy 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
-
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?
-
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).
-
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
-
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.
-
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
-
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
-
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.
-
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