Autor Tema: Discusion sobre write_program_eeprom y read_program_eeprom  (Leído 4057 veces)

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

Desconectado giff

  • PIC10
  • *
  • Mensajes: 31
    • Ignogantes
Discusion sobre write_program_eeprom y read_program_eeprom
« en: 10 de Febrero de 2010, 15:57:24 »
Hola gente de todo pic. Luego de haber usado el buscador he adaptado un codigo simple cosa de simularlo. Quiero saber que tengo malo, porque la verdad no logro vermi error. Intenté siimularlo con el MPLAB 8.36 y el Proteus 7.6 SP0 y no me escribe en la EEPROM interna. Estoy usando el PIC18f2550 y el compilador CCS v4.104.

Código: [Seleccionar]
#include <18f2550.h>
#fuses NOWDT,HS, NOPROTECT,NOBROWNOUT, NOPUT, NOLVP, NOWRT, NOEBTR, NOEBTRB, NOMCLR
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

int16 write_data, read_data;

void main()
{
while(true){
   write_data = 0xAA;
   write_program_eeprom(0, write_data);
   delay_ms(1000);

   read_data = read_program_eeprom(0);
   printf("%03Lu ", read_data);
}
  }


Por otra parte, la duda que tengo es que valor de direccion tiene write_program_eeprom(DIRECCION, valor). ¿Es un valor especificado por el datasheet o el compilador hace el trabajo y yo solo debo asignar una de las 268 direcciones que tiene este modelo de pic en hexadecimal?
Mi blog sobre apuntes de electrónica: www.ignogantes.net

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Discusion sobre write_program_eeprom y read_program_eeprom
« Respuesta #1 en: 10 de Febrero de 2010, 16:00:54 »
como primera medida cambia el FUSE HS por XT
XT: para 4Mhz o menos
HS: mayores a 4Mhz
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Discusion sobre write_program_eeprom y read_program_eeprom
« Respuesta #2 en: 10 de Febrero de 2010, 16:52:03 »
Hola.

La funcion para escribir la EEPROM interna del micro es: write_eeprom (address, value) y para leer: read_eeprom (address)

Saludos
El papel lo aguanta todo

Desconectado giff

  • PIC10
  • *
  • Mensajes: 31
    • Ignogantes
Re: Discusion sobre write_program_eeprom y read_program_eeprom
« Respuesta #3 en: 10 de Febrero de 2010, 17:14:16 »
como primera medida cambia el FUSE HS por XT
XT: para 4Mhz o menos
HS: mayores a 4Mhz

Hecho, no paso nada... funciona igual.

Hola.

La funcion para escribir la EEPROM interna del micro es: write_eeprom (address, value) y para leer: read_eeprom (address)

Saludos

Gracias, ahora pude escribir ;D. Pero igual tengo la idea que guarde datos de 16 bits. Y por lop que leo en la ayuda del compilador CCS write_program_eeprom y read_program_eeprom no las emula bien :(.

Como tarea probaré la libreria que esta en la pagina de cuervo para guardar datos de 16bit en 2 bytes. Esa seria la solución deseada para mi proyecto. Les informo cualquier cosa.

Vuelvo a dar las gracias a jhozate y MLO_, tengo algo mas de esperanza en estos momentos ;D

PD: ¿en que sección del datasheet del pic18f2550 puedo encontrar el tiempo que demora en escribir la eeprom interna del pic?
« Última modificación: 10 de Febrero de 2010, 17:19:02 por giff »
Mi blog sobre apuntes de electrónica: www.ignogantes.net

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Discusion sobre write_program_eeprom y read_program_eeprom
« Respuesta #4 en: 10 de Febrero de 2010, 17:32:24 »
buenas, oye si tienes una variable de 16 bits es decir un word y tienes que guardarla en la eeprom in terna del micro tienes primero que separfa esa variable en dos y te quedaria 2 byte el de mayor peso y el menor luego que ya tengas separada tu variable word si puedes guardar tranquilamente tu informacion en la eeprom.

Saludos y espero que esta informacion te ayude.
Atten.
Alexander Santana.
Venezuela-Barcelona.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Discusion sobre write_program_eeprom y read_program_eeprom
« Respuesta #5 en: 10 de Febrero de 2010, 19:45:58 »
Utiliza make8 para separar la variable de 16-bits en 2 de 8-bits. Igualmente este tema ya se ha tratado en el foro, utiliza el buscador.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado giff

  • PIC10
  • *
  • Mensajes: 31
    • Ignogantes
Re: Discusion sobre write_program_eeprom y read_program_eeprom
« Respuesta #6 en: 11 de Febrero de 2010, 00:46:24 »
Utiliza make8 para separar la variable de 16-bits en 2 de 8-bits. Igualmente este tema ya se ha tratado en el foro, utiliza el buscador.


Saludos!

ok boss... cualquier cosa aviso
Mi blog sobre apuntes de electrónica: www.ignogantes.net

Desconectado giff

  • PIC10
  • *
  • Mensajes: 31
    • Ignogantes
Re: Discusion sobre write_program_eeprom y read_program_eeprom
« Respuesta #7 en: 11 de Febrero de 2010, 20:16:10 »
Probé con la libreria de cuervo pero por alguna razon no me funcionó. Luego de googlear un buen rato pille mi solucion en el mismo CCS. Este posee una carpeta de drivers en donde hay una librería que me sirvió.

Write a Float variable in the internal EEPROM memory

Gracias por la ayuda brindada ;D.

Mi blog sobre apuntes de electrónica: www.ignogantes.net


 

anything