TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: DieccoF en 08 de Marzo de 2010, 20:52:42
-
Hola gente estoy haciendo un proyecto con el pic16f873 y tengo un problema.
Queria preguntarles si es posible grabar en la eeprom a medida que voy recibiendo los byte por la USART.... esta configurado a 9600 bps
He realizado un progama y tengo ese inconveniente que la velocidad de escritura en la eeprom es mucha mas lenta que la velocidad de lectura del USART... Queria preguntarles si es posible grabar en la eeprom entre el tiempo que hay entre byte y byte recibido del USART.
GRacias
-
No, no es posible. Lo que puedes hacer es recibir en un buffer y luego almacenar lo recibido en la eeprom.
Saludos!
-
Bueno pero eso es lo que trato de hacer..... estoy haciendo esto yo, cuando recibo el byte por el USART, lo extraigo de RCREG y lo almaceno en W, luego salto a la rutina de grabar en eeprom pero antes de que termine de grabar ya me salta la interrupcion de nuevo dato en RCREG ..... gran problema cheeee !!!!!
Lo que estoy haciendo ahora es recibir todos los byte y almacenarlos en RAM, luego de recibir todos, agarro uno por uno y lo almaceno en la eeprom... pero sinceramente no me gusta esta solución.
-
Bueno pero eso es lo que trato de hacer..... estoy haciendo esto yo, cuando recibo el byte por el USART, lo extraigo de RCREG y lo almaceno en W, luego salto a la rutina de grabar en eeprom pero antes de que termine de grabar ya me salta la interrupcion de nuevo dato en RCREG ..... gran problema cheeee !!!!!
Lo que estoy haciendo ahora es recibir todos los byte y almacenarlos en RAM, luego de recibir todos, agarro uno por uno y lo almaceno en la eeprom... pero sinceramente no me gusta esta solución.
Hola y es la solucion mas viable que he visto para esos casos.
Saludos y estamos en contacto.
Atten.
Alexander Santana.
Venezuela-Barcelona.
-
La eeprom es la del pic?? o es externa??
Si es externa de igual manera guarda todo en un buffer y grabas los datos por banco. tarda aproximadamente lo mismo ^^.
Si es la interna pues haces lo correcto con el buffer.