Autor Tema: RESERVAR MEMORIA  (Leído 2558 veces)

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

Desconectado ariel25

  • PIC10
  • *
  • Mensajes: 42
RESERVAR MEMORIA
« en: 07 de Agosto de 2007, 12:15:34 »
Hola a todos nuevamente trabajando con el niple me encontre con un pequeñito problema asi que nuevamente acudo a ustedes para resolverlo, el problema es el siguiente:
Trabajo con un pic 16f877a con el cual quiero recibir datos de la computadora a traves del puerto serial, pero para hacerlo quiero reservar una parte de la memoria del pic, digamos unos 2Kb mas o menos o mejor dicho toda una pagina de memoria ya que la cantidad de dato es relativamente grande, para luego retransmitirlo.
Mi problema es como hago para reservar esa cantidad de memoria en niple, ya que solo te muestra los registro del banco 0  y esto es posible en el asembler,  es posible aunque algo tedioso ya que hay que tener en cuanta el valor del registro PCLATH y el valor del bits IRP (aclaro aunque no se utilizar la funcion de cambio de pagina que creo es PAGELSE... algo asi se escribe creo)  para su correcto direccionamiento y la otra pregunta es si debo tener en cuenta como en el asembler todo estos registros a la hora de programar en el niple.
Esperando haber sido lo mas explicito posible en cuanto a mi problema y desde ya agradezcon todo opinion vertida sobre el tema.
 

Desconectado ojore

  • PIC10
  • *
  • Mensajes: 1
Re: RESERVAR MEMORIA
« Respuesta #1 en: 20 de Agosto de 2007, 13:53:44 »
El PIC 16f877A tiene 368 bytes de memoria para datos. Los 8Kb son memoria para código y no puede reservarse directamente para guardar datos.

Tienes la posibilidad de escribir en la memoria FLASH (la de datos), pero el procedimiento es lento y complejo.

Desconectado ariel25

  • PIC10
  • *
  • Mensajes: 42
Re: RESERVAR MEMORIA
« Respuesta #2 en: 22 de Agosto de 2007, 20:27:54 »
Bueno antes que nada ojore gracias por responder a mi duda...
lo que no me quedo muy claro que digamos fueron:

"Los 8Kb son memoria para código y no puede reservarse directamente para guardar datos."

Y como hago por mas que no sea tan directo para reservar parte de esos 8KB.....?.....Y

"Tienes la posibilidad de escribir en la memoria FLASH (la de datos), pero el procedimiento es lento y complejo."

creo que te refieres al los registros que el porpio niple te da para reservarlos ...corrigeme si me equivoco....?
Gracias por los aportes...

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: RESERVAR MEMORIA
« Respuesta #3 en: 23 de Agosto de 2007, 14:00:46 »
Hola :
Los 8K de memoria son para que puedas programar tu programa de aplicación.

Ademas el micro tiene 368bytes de meroia Sram para guardar datos de forma temporal que se borran al quitar la alimentacion.
Adicionalmente dispone de otros 256 bytes de mememoria EEprom que tambien te serviran para guardar datos y que al contrario que la anterior no se borraran al quitar la alimnetacion. Es este tipo de memoria el que la escritura es lenta y compleja. Debes de colocar en tu programa alguna rutina para grabarla de  acuerdo a lo que te recomienda Microchip para realizar el tipo de grabacion de este tipo de memoria (EEPROM).

En Niple en la pagina 65 del manual de usuario te indican como poder realizar las grabaciones.

En cuanto a reservar una cantidad de memoria, no se si podra realizar (creo que no) ya que la memoria de programa como dije al principio solo se puede realizar cuando lleva a cabo la programacion del micro.
Si necesitas memoria adicional puedes utilizar alguna del tipo 24Cxx(xx=segun la capacidad), que se comunicarian con el PIC por medio del bus I2C, esto tambien lo tienes en el manual e NIPLE(pagina 117).
espero haberte aclarado alguna duda.
Fermin
Todos los días se aprende algo nuevo.


 

anything