Autor Tema: Grabacíon en EEPROM  (Leído 1993 veces)

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

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Grabacíon en EEPROM
« en: 25 de Octubre de 2005, 09:15:00 »
Buenas a todos amigos foreros, tengo una duda y me gustaría saber que opinais.

Tengo un programa en el que continuamente (cada pocos ms) por medio de la interrupción del TMR0 me salta al vector de interrupciones. En el vectro de interrupciones lo que hago es visualizar 6 displays de 7 seg. Hasta este punto todo va perfecto. El problema viene cuando grabo datos en la EEPROM (PIC 16F87X en ensamblador).

Siempre me lo hace perfectamente pero... he detectado que hay algunos micros que se cualgan cuando efectúo la grabación. Se pueden considerar defectuosos??

He investigado el tema y he llegado a la siguiente conclusión.

En la función de grabar en la eeprom hay que deshabilitar las interrupciones para meterle un par de secuencias 55h y AAh (en el datasheet lo explican). Pues bien, en los micros que me dan problemas,  si deshabilito las interrupciones antes de entrar en la función de grabar los datos en la EEPROM, funcionan bien.

Recapitulamos:

Si deshabilito las interrupciones dentro de la misma función de grabación en EEPROM algunos micros se cuelgan.

Si deshabilito las interrupciones antes de función de grabación en EEPROM... TODOS me van perfectamente.

A alguien le ha pasado esto?? Esto es posible?? Nunca me había percatado de este problema y... hace ya años que me dedico a esto.

Bueno... espero que alguna mente privilegiada me instruya... tanto a mi como a todos los colegas que formamos esta gran familia jeje.

Un saludo desde Alicante.

Desconectado alex22ra

  • PIC10
  • *
  • Mensajes: 41
RE: Grabacíon en EEPROM
« Respuesta #1 en: 25 de Octubre de 2005, 10:19:00 »
Hola.

Yo para hacer las rutinas de lectura y escritura en la eeprom interna del 16F876 no segui el pdf del pic, porque me dijeron que habia algun error, y me guie a partir de unas rutinas que me dejaron, si quieres te puedo mandar las rutinas que a mi si que me funcionan. Pero en principio, no hagas mucho caso del pdf.

Desconectado kuauhtemok

  • PIC16
  • ***
  • Mensajes: 116
RE: Grabacíon en EEPROM
« Respuesta #2 en: 25 de Octubre de 2005, 10:31:00 »
Hola yo siempre utilizo esta subrutina que es del PDF...

Como ves se desactivan las interrupciones antes de mandar el 55 y el AA...

Pues a mi me ha funcionaod bien siempre  Helado

Que raro lo que dices  loco

ESCRIBIR_EEPROM
   BSF    STATUS, RP1    
   BSF      STATUS, RP0    
   BTFSC    EECON1, WR   
   GOTO    $-1    
   BCF    STATUS, RP0
   MOVF    ADDR, W    
   MOVWF    EEADR    
   MOVF    VALUE, W    
   MOVWF    EEDATA       
   BSF    STATUS, RP0
   BCF    EECON1, EEPGD
   BSF    EECON1, WREN

   BCF    INTCON, GIE    

   MOVLW    0x55       
   MOVWF    EECON2       
   MOVLW    0xAA          
   MOVWF    EECON2       
   BSF    EECON1, WR       
   nop

   BCF    EECON1, WREN    
   BCF    STATUS, RP1
   BCF      STATUS, RP0
   return
La felicidad no es mas q la ausencia momentanea del dolor

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
RE: Grabacíon en EEPROM
« Respuesta #3 en: 26 de Octubre de 2005, 10:28:00 »
Hola otra vez a todos.

Ya he resuelto el problema. El datasheet que yo utilizaba es del 1999 y... en una versión más actualizada la rutina de grabación en la EEPROM es un poco distinta.

También he visto un pdf de erratas de microchip en el que comentan algunos problemas al grabar en la eeprom.

Gracias y... un saludo desde Alicante.


 

anything