TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: NoSepComo en 22 de Agosto de 2011, 12:24:55
-
Hola a todos,
Tengo tres datos que almaceno en formato long y necesito almacenarlos en la eeprom interna del pic que uso (18f45k20) con la funcion del compilador CCS write_eeprom. Mi problema es que la eeprom está organizada en bytes, con lo cual necesito dos posiciones para almacenar un dato y luego dos para leerlos, la forma de hacerlo que se me ocurrió es deplazar a derecha y a izquierda y guardar cada parteen una posición distinta y después pàra leer ese dato, recomponerlo.
Lo que me gustaría es saber si alguien sabe alguna forma más sencilla de hacer esto, o quizá si el compilador es lo suficientemente listo como para que cuando le mandes un long el sólito lo almacene en dos posiciones de memoria?.
Gracias de antemano por vuestra ayuda.
-
Utiliza el buscador, ya se ha hablado del tema. Además CCS implementa una librería para tal fin.
Saludos!
-
Hola NoSepComo te llames :D.
En Help de CCS busca la funcion make8( ), esta te dara los bytes de tu variable tendras variables de tipo int8 de alli los guardas y al leerlos puedes usar make16() para recomponer tu variable inicial.
Tambien esta la libreria internal_eeprom(), que esta en la carpeta de drivers C>archivos de programa>> PICC.
saludos
Sky posteate 2ms antes que yo :D :D
-
hola, gracias a los dos.
Con las prisas no había ni utilizado el buscador, pero lo hice y lo encontré rapidamente en otro hilo.
Muchas gracias por las respuestas.
-
Si el CCS fuera full ansi C seria mas facil.