Autor Tema: eeprom  (Leído 1455 veces)

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

Desconectado JorgitoFRyOle

  • PIC12
  • **
  • Mensajes: 79
eeprom
« en: 03 de Mayo de 2005, 11:06:00 »
Buenas a tos:

A ver si alguien me puede ayudar con la eeprom. Tengo un par de dudas.

Utilizo para cargar el .hex (generado por el ccs) en mi placa el mplab icd2, lo cual me permite ver la eeprom interna del pic, una de mis dudas es: xq al principio de usar la eeprom en todas sus posiciones tiene el valor FF, son los valores iniciales de la eeprom?

Mi otra duda es como funciona la funcion write_eeprom del ccs, (he puesto el siguiente ejemplo para probar, write_eeprom(0x00,0x88)) y los valores de la eeprom no cambia, que es lo que hago mal? A que se debe esto?

Gracias por estar ahi y por vuestra ayuda. 1saludo

Desconectado Lager.

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 477
RE: eeprom
« Respuesta #1 en: 03 de Mayo de 2005, 17:47:00 »
Que onda jorge,
prueba este ejemplo, es el que viene en el mismo CCs:
 
Codigo:

#include <16f877.h>
#FUSES HS,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP,NOWDT,NODEBUG
#use delay(clock=4000000)
#use rs232(baud=9600,xmit=PIN_c6,rcv=PIN_c7,force_sw)
#include <input.c>
#rom 0x2100={1,2,3,4}
void main() {
   BYTE i, j, address, value;
   do {
      printf("

EEPROM:
");            
      for(i=0; i<=3; ++i) {                    
         for(j=0; j<=15; ++j) {
            printf( "%2x ", read_eeprom( i*16+j ) );
         }
         printf("
");
      }
      printf("
Direccion del valor a cambiar: ");
      address = gethex();
      printf("
Nuevo Valor: ");
      value = gethex();
      write_eeprom( address, value );

   } while (TRUE);
}

 


Los valores de inicio los puedes cambiar con el "# rom"
Salu2 pana :-)

Desconectado Flugplatz

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 279
    • Mi canal de YouTube
RE: eeprom
« Respuesta #2 en: 08 de Diciembre de 2005, 08:11:00 »
Hola, buenas...

no sabreis por casualidad como se cargan datos desde el codigo para la familia 18fxxx?

o sea, esto mismo

#rom 0x2100={1,2,3,4}

pero para los chips de la familia 18fxxx

Probablemente sea solo cambiando la direccion, pero no encuentro por ningun lado a partir de que direccion esta mapeada la EEPROM

un saludo

Mario
Mi canal de YouTube

Un saludo desde Madrid

Desconectado mario_pastor

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 101
RE: eeprom
« Respuesta #3 en: 08 de Diciembre de 2005, 12:03:00 »
Hola flugplatz, la EEPROM en la familia 18F inicia en 0XF00000. Yo programo en ASM y tengo algunos problemas al definir la EEPROM desde el programa, aquí te dejo el link. Si sabes de algo te agradecería me ayudaras con ello.
Saludos,
Mario.

Lima - Perú

Desconectado Flugplatz

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 279
    • Mi canal de YouTube
RE: eeprom
« Respuesta #4 en: 08 de Diciembre de 2005, 13:25:00 »
Gracias tocayo ...

he seguido buscando ... y también lo he encontrado aqui:

#rom + CCS

Al principio usaba MPASM, pero solo para la familia 16fxxx ...

Desde que uso compiladores he perdido mucha práctica en el ensamblador ...

De todas formas, mirate la "18FXXX programing specification" ... según estaba buscando lo de la dirección de la EEPROM, he visto algo relativo a como se programa ...



Mi canal de YouTube

Un saludo desde Madrid