TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: pietrodilaccua en 07 de Junio de 2005, 22:13:00
-
He usado mucho el f870, 873, 874 sin problemas para trabajar con la eeprom, (usan todos la misma rutina), pero con el f877a , lo he intentado todo y no graba. he bajado incluso algunos apuntes de la pagina de microchips y nada. Mucho me temo que los chips que estoy comprando tienen problemas. SOLICITO POR TANTO A ALGUN PICMANIACO CHILENO Y OJALA DE SANTIAGO QUE ME CONTACTE PARA INTERCAMBIAR INFORMACION Y HACER PRUEBAS EN CONJUNTO.
AGRADECIDO.. PIETRODILACCUA..
SUPER FORO MUCHACHOS
-
Deverias bajar el PIC16F87XA Data Sheet .
Pag.35
EXAMPLE 3-1: DATA EEPROM READ
EXAMPLE 3-2: DATA EEPROM WRITE
-
HOLA SISPIC, GRACIAS POR TU SUGERENCIA.
PERO LA VERDAD ES QUE ESTE MANUAL YA LO TENGO Y TB. ESTAS RUTINAS Y CAMINANDO MUY BIEN EN LOS OTROS CHIPS DE LA FAMILIA.
SALUDOS PIETRODILACCUA
-
Prueba a hacer un programa sencillo, como por ejemplo encender y apagar un led, a ver si eres capaz de programarlos. Los 16F877A necesitan sofware actualizado para programarlos. Nada de programarlos como un 877 normal.
-
HOLA ANTONIOF.
TE CUENTO QUE EL PROYECTO ES UN PEQUEÑO CONTROL DE POSICION QUE LO MANEJA EL PIC. TENGO CONTROL SOBRE UN MOTOR EN DOS DIRECCIONES Y MIDO LA POSICION O CANTIDAD DE MOVIMIENTO CON UN ENCODER INCREMENTAL DE DOS FASES , PUEDEO HACER MOVIMIENTOS MANUALES O AUTOMATICOS , ES DECIR EL CONTROL BUSCA POR SI SOLO UNA POSICION O SECUENCIA DE POSICIONES,
CADA VEZ QUE EL SISSTEMA TERMINA O LLEGA A LA POSICION SOLICITADA GUARDA LA INFO EN EEPROM. DE ESTE MODO CADA VEZ QUE EL EQUIPO PARA DE FUNCIONAR Y SE APAGA, RECUERDA ESTA POSICION Y PARTE SABIENDO EN DONDE ESTA. FUNCIONA MUY BIEN CON EL 16F874 , OPERA Y GUARDA. CON EL 877 SOLO OPERA FANTASTICAMENTE, NO ALMACENA EN MEMORIA.
SALUDOS AMIGOS PIETRODILACCUA
-
Si has probado ya las rutinas de escritura de la EEPROM que vienen en el datasheet y no te funcionan es que la eeprom esta muerta.
Intenta guardar los datos en la memoria flash de programa. Las rutinas han cambiado sensiblemente con respecto a las versiones sin "A" pero puede ser una solucion a tu problema.
Yo he salvado datos en la flash y funciona perfectamente igual que en la eeprom.
-
Hola antoniof , he seguido tu consejo, y ahora estoy guardando perfectamente bien el la memoria flash , asigne un sector lejos del programa y quedo perfecto,
lo unico que me preocupa es que esta memoria esta garantizada solo para 1000 operaciones WR/WD. y si yo guardo 2 veces por dia , me va a funcionar solo por 500 dias.
por hora a situacion esta salvada pero creo que tendre que pensar en una mem externa para este caso.
muchas gracias amigo. Pietrodilaccua
-
Otra cosa que puedes hacer es no escribir siempre en la misma posición de memoria Flash. Supongo que tendrás suficiente memoria de programa libre como para poder almacenar la posición del servo unas cuantas veces, por ejemplo 20. Esto te daría unos 10000 dias (27 años!!!) de vida útil del PIC, Casi nada



-
Pues si además del truco que comenta antoniof, que ya te permitiría llegar a los 27 años, le añades que cometiste un error al leer la data, y donde entendiste 1000 aparecen 100.000, tendrás pic para 2.700 años. No es mucho, sólo un poco más que la última era cristiana

Mira lo que dice la data:
• 100,000 erase/write cycle Enhanced Flash
program memory typical
• 1,000,000 erase/write cycle Data EEPROM
memory typical