TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jollomar en 18 de Julio de 2007, 06:27:42
-
Hola,
estoy utilizando el programa "Interrupcion RS-232. Lectura/Escritura eeprom 24LC256" de VSZENER. Me di cuenta de que sólo leia las 256 primeras posiciones de la memoria. He leido en un post que la memoria tiene 128 páginas de 256bytes. Cuando intento leer toda la memoria (cambio simplemente los índices del bucle del case '2' para que vaya más allá de la posición 255) y mostrarla por pantalla sólo me muestra el contenido de los primeros 256bytes y los repite. He añadido una función para que pueda pedirme la posicion de memoria en decimal (así es como la lee la función read_ext_eeprom()) y cuando se la doy sí que me da el valor de la posción más allá de la 255. Lo mismo con la escritura uno a uno. No entiendo el por qué de esto.
Alguna sugerencia?
Un saludo y gracias
-
Hola a todos. Yo mismo me respondo. En el programa de ejemplo los índices para indicar la posición de memoria eran del tipo byte, mientras que la dirección que acepta la funcion read_ext_eeprom es de tipo long int. Así que simplemente cambiando el tipo de datos de los índices pude hacer que todo funcionara.
Muchas veces no me fijo en los tipos de datos cuando cojo un programa que no está hecho por mi. Deberé empezar a fijarme en esto poruqe no es la primera vez jejejeje :)
Bueno, un saludo
-
:mrgreen:
Suerte!!! ;)