Esta es la primera vez que utilizo la memoria eeprom de un microcontrolador, en concreto la del 16F877, y la verdad es que ando un poco liado. Me explico: he mirado el datasheet y el ejemplo (de escritura) que ponen:
Entiendo lo que hacen todas las intrucciones, hasta aquí ningún problema.
Mirando por internet he encontrado la siguiente web: http://www.alos.5u.com/pic16f877/Modulo6.html
Explica bastantes cosas de la eeprom del Pic que voy a utilizar. En el ejemplo de escritura ponen el siguiente:
Es parecido al ejemplo del Datasheet, aunque aquí primero se van al banco 2, y no al 3. Pero supongo que el orden no importará.
En esa misma web ponen ejemplos de programas en los que utilizan la eeprom, y es quí donde me lío, ya que en esos programas la serie de intrucciones que utilizan es mas larga:
Lo único que no acabo de entender es si hay que poner el bucle en el que espera al final de la grabación o no, ya que en el datasheet no lo veo. Tambíen aparece la siguiente linea:
bcf PIR2,EEIF ;Si termina Borra bandera de interrupción
Que ni en el otro ejemplo ni en el datasheet aparecen.
La lectura si que le he simulado (con el mismo programa con el cual estoy trabajando, MPLAB), pero la escritura no consigo simularla (no se si es fallo de MPLAB o mio).
Gracias de antemano.
Entiendo lo que hacen todas las intrucciones, hasta aquí ningún problema.
Mirando por internet he encontrado la siguiente web: http://www.alos.5u.com/pic16f877/Modulo6.html
Explica bastantes cosas de la eeprom del Pic que voy a utilizar. En el ejemplo de escritura ponen el siguiente:
Es parecido al ejemplo del Datasheet, aunque aquí primero se van al banco 2, y no al 3. Pero supongo que el orden no importará.
En esa misma web ponen ejemplos de programas en los que utilizan la eeprom, y es quí donde me lío, ya que en esos programas la serie de intrucciones que utilizan es mas larga:
Lo único que no acabo de entender es si hay que poner el bucle en el que espera al final de la grabación o no, ya que en el datasheet no lo veo. Tambíen aparece la siguiente linea:
bcf PIR2,EEIF ;Si termina Borra bandera de interrupción
Que ni en el otro ejemplo ni en el datasheet aparecen.
La lectura si que le he simulado (con el mismo programa con el cual estoy trabajando, MPLAB), pero la escritura no consigo simularla (no se si es fallo de MPLAB o mio).
Gracias de antemano.