Autor Tema: Duda de memoria flash 16f877a  (Leído 1561 veces)

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

Desconectado jorgec1996

  • PIC10
  • *
  • Mensajes: 11
Duda de memoria flash 16f877a
« en: 02 de Julio de 2015, 13:30:39 »
Buenas, soy novato en esto de los microcontroladores, aprendi varias cosas en el foro e hize un proyecto con mucha ayuda de este foro en otro tema, ya funciona pero tengo una duda, para mejorarlo en el futuro, es sobre la memoria flash que tiene el pic 16f877a, entiendo que tiene memoria flash interna, y la memoria flash tiene un numero ilimitado de escrituras y borrados, al contrario de la eeprom.
Al estar usando constantemente el
Código: [Seleccionar]
write_eeproom();
Se agotan las 1000 escrituras que tiene la eeprom.
He leido por ahi en el foro que el comando
Código: [Seleccionar]
write_program_eeprom();
es para grabar en la memoria flash, pero primero quiero resolver la duda que tengo, si es posible usar la memoria flash del Micro para escribir y borrar datos ilimitadamente
Muchas gracias de antemano:)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Duda de memoria flash 16f877a
« Respuesta #1 en: 02 de Julio de 2015, 13:38:09 »
Citar
la memoria flash tiene un numero ilimitado de escrituras y borrados, al contrario de la eeprom.
Citar
Se agotan las 1000 escrituras que tiene la eeprom.

Ahi esta el error

Segun el datasheet:
100,000 erase/write cycle Enhanced Flash program memory typical
1,000,000 erase/write cycle Data EEPROM memory typical

Ademas uno en la flash puede leer datos libremente, pero si es necesario escribirlos requiere de un borrado y luego una escritura, y normalmente el borrado de es varios bytes, es decir de varias posiciones de memoria, asi que para realizar eso deberias leer todo, borrar, escribir nuevamente todo y cambiado.

Y aca viene lo demas.. Esto, tanto la flash como la EEPROM no esta realizados para datos que cambien continuamente,la flash son mas para datos "constantes" que no van a cambiar su valor, la EEPROM con su numero mayor de escrituras permite un poco mas de cambio, pero tenes que tener en cuenta ese maximo, es como para algo que no se cambie casi nunca, pero aun asi necesitas guardarlo. Sino se utiliza la RAM

Desconectado jorgec1996

  • PIC10
  • *
  • Mensajes: 11
Re: Duda de memoria flash 16f877a
« Respuesta #2 en: 02 de Julio de 2015, 14:12:01 »
A okei, ya entiendo :) ... y existen microcontroladores que pueden tener alguna memoria que no se borre al apagado y sea ilimitada, o tiene que ser con alguna memoria externa?
Gracias:)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Duda de memoria flash 16f877a
« Respuesta #3 en: 02 de Julio de 2015, 20:52:36 »
ilimitado solo RAM, y vi solo externas con bateria.
Sino se intenta usar la RAM el PIC y agregar por ejemplo una deteccion de cuando se corta la corriente + un capacitor para que le de tiempo al micro de grabar las cosas en la EEPROM, solo en esos casos.