Autor Tema: Como guardar mas de 1 registro o variable en la EEPROM  (Leído 1874 veces)

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

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
Como guardar mas de 1 registro o variable en la EEPROM
« en: 12 de Abril de 2013, 20:14:50 »
Hola de nuevo, queria saber como agregar mas de un registro en la EEPROM.

Por ejemplo yo tengo uno llamado numero y funciona bien :

Código: [Seleccionar]
ORG 0x2100    ; Corresponde a la dirección 0 de la zona EEPROM de datos..
Numero
        DE 0x00    ; El contador en principio a cero.
 
; chequeo el dato guardado con :
 
         movlw    Numero            ; Lee la posición 0x00 de memoria EEPROM de datos
         call        EEPROM_LeeDato   ; donde se guarda el Numero.
         movwf    PORTB
 
 
; Y guardo asi:
 
         movlw    NumeroTurno    ; Se escribe en la posición de memoria EEPROM de
         movwf    EEADR     ; datos donde se guarda el turno. En este caso en
         movlw    b'0000110' ;  (1)
         call        EEPROM_EscribeDato

Utilizo la libreria EEPROM.INC, Hasta ahi todo me funciona perfecto y puedo guardar y leer el dato guardado, en mi caso numeros en un display 7 segmentos.
Pero cuando quiero guardar o mejor dicho, intentar guardar otro dato en la eeprom me tira mil errores, aca esta como lo hago con otro registro llamado Letra:

Código: [Seleccionar]
ORG 0x2100    ; Corresponde a la dirección 0 de la zona EEPROM de datos..
Numero
Letra
        DE 0x00    ; El contador en principio a cero.
 
###################################################
 
Tambien he intentado algo asi
 
        ORG 0x2100    ; Corresponde a la dirección 0 de la zona EEPROM de datos..
Numero
Letra
         DE 0x00    ; El contador en principio a cero.
        ;DE   0x01       ; 2 LUGAR
        ;DE   0x02        ; 3 LUGAR
 
################################################
 
Luego asi:
 
        ORG 0x2100    ; Corresponde a la dirección 0 de la zona EEPROM de datos..
Numero
Letra
         DE 0x00, 0x00, 0x00, 0x00, ........   ; etc

Y no he tenido mas que fracazos al querer compilar con MPLAB, seguramente debo tener uno, o multitud de errores al intentar hacer eso, no se cual es la forma correcta de grabar mas de 1 registro en la EEPROM, por favor alguien que me de una mano, a ver que estoy haciendo mal ... Gracias !!!!



Vangeluz

Desconectado soymoe

  • PIC18
  • ****
  • Mensajes: 456
    • El blog de Moe
Re: Como guardar mas de 1 registro o variable en la EEPROM
« Respuesta #1 en: 13 de Abril de 2013, 22:21:35 »
no conozco la libreria, pero el ORG 0x2100 para mi  no tiene sentido porque esa ubicacion no existe en la memoria de programa y por otro lado al llamar a la rutina de escritura vos ya le pasas la direccion de la eeprom, proba asi

Código: [Seleccionar]
movlw    NumeroTurno    ; Se escribe en la posición de memoria EEPROM de
          movwf    EEADR     ; datos donde se guarda el turno. En este caso en
          movlw    b'0000110' ;  (1)
          call        EEPROM_EscribeDato
         
           incf        NumeroTurno ;
          movlw    NumeroTurno    ; Se escribe en la posición de memoria EEPROM de
          movwf    EEADR     ; datos donde se guarda el turno. En este caso en
          movlw    b'0000111' ;  (1)
          call        EEPROM_EscribeDato




 

anything