Autor Tema: ALGO RARO CON EL F88  (Leído 1305 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado championz

  • PIC16
  • ***
  • Mensajes: 127
ALGO RARO CON EL F88
« en: 21 de Abril de 2006, 02:39:13 »
como va! bueno les uento que tengo un problemita con el 16f88, no se porque pero escribi el programa lo fui modificando y de repente cuando compilo me sale un error que dice "OUT OF ROM" y algo mas... entonces elimino una solo instruccion, un LCD_PUTC y compila perfectamente, y me informa que la memoria utilizada (ROM) es de 80%... entonces pienso, como puede ser que un simple LCD_PUTC ocupe el 20% restante de memoria????

otra cosa curiosa es que cuando genero el HEX y lo abro con winpic, recorro la memoria rom y encuentro en el medio del hex muchos espacios vacios.... MUCHOs... estos espacios son para las variables???

gracias!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: ALGO RARO CON EL F88
« Respuesta #1 en: 21 de Abril de 2006, 07:50:25 »
Adjunta aquí tu programa e intentamos ayudarte.

Desconectado omix

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 244
Re: ALGO RARO CON EL F88
« Respuesta #2 en: 22 de Abril de 2006, 08:29:45 »
Hola, lo que puede ser que te este pasando es que el CCS por defecto las llamadas a funciones las hace Inline, es decir, donde haces una llamada auna funcion en vez de hacer un call a la funcion, lo que realmente hace es poner el codigo entero de la función, con lo cual si llamas a la función 10 veces tendras la misma funcion duplicada 10 veces. Para evitar esto, las funciones que no quieres que sean Inline, ponle delante la directiva del preprocesador #separate.

Por ejemplo:

#separate
void miFuncion(){
   //mi codigo
}

Un Saludo.

Un saludo.