Autor Tema: problema de memoria ROM  (Leído 1379 veces)

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

Desconectado charlosh

  • PIC10
  • *
  • Mensajes: 12
problema de memoria ROM
« en: 08 de Marzo de 2010, 17:04:19 »
Buenos dias estoy desarrollando un proyecto en donde utilizo un 16f877A, un teclado matricial de16 botones, y un LCD de 2x16. En el proyecto se contempla que el usuario seleccione de un menu general 60 diferentes numeros de parte por lo que intento utilizar la instruccion Switch en el que en cada Case me muestre el numero de parte correspondiente  en el LCD ,  para el que utlizo la instruccion printf(lcd_putc,"\texto") en cada CASE, el problema es que me consumen demasiada memoria ROM, y aun me falta agregar en el futuro 10 nuevos numeros de parte por lo que calculo que  consumiria la ROM al 100% y ya no me funcionaria. He leido que las instrucciones Pritf consumen mucha memoria ROM y como yo la utilizo en cada case pues ya se imaginaran.

He tratado de crear una variable universal texto la cual tomaria el valor de text1, texto2, texto3, etc, dependiendo del case en ejecución con la instrucción strcpy(texto, "texto1") ó strcpy(texto, "texto2") ó strcpy(texto, "texto3"), etc. ,dependiendo del case y luego salir de la instrucción Switch y con una sola instruccion  printf(lcd_putc,"Texto: %u", Texto) mandar a poner en el LCD el valor de texto (tratando de economizar memoria ROM);   pero el asunto es que como en cada case pongo la instruccion strcpy  tambien consume buena cantidad de ROM, sale redundante esta solución.

Por lo que he tratado de atacar el problema del ahorro de la memoria Rom y tengo la idea de que en el  programa declarar las variables texto(i)=texto deseado(i): texto(1)=texto deseado(1),texto2=texto deseado2, texto(3)=texto deseado3, etc   de tal forma que el valor de i varie  dependiendo del case en ejecución.
Por si esta explicación  no se entiende lo pongo de otra manera :quiero declarar en la seccion de variables del programa :

una variable universal
texto(i)=texto deseado(i)

que adopte los diferentes valores, dependiendo del valor de i:
texto deseado(1)="modelo 1xc"
texto deseado(2)="mod. housing 2xc'
texto deseado(3)="modelo atr27"
texto deseado(4)="modelo avw3s"

No sé si con algun tipo de matriz u otro arreglo sea posible que dependiendo del valor de i sea el string a visualizar en el LCD.
No sé como tendria que declarar los tipos de variable, ya que lo que yo quiero que me muestre en el LCD serian los diferentes strings.

Por favor si alguien me puede ayudar, con alguna idea,  o algun ejemplo de como hacerlo.

 

 

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: problema de memoria ROM
« Respuesta #1 en: 08 de Marzo de 2010, 18:20:00 »
No es necesario crear varios post con el mismo inconveniente. Leer las Reglas del FORO.

No contesto mensajes privados, las consultas en el foro