TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: championz en 21 de Abril de 2006, 02:39:13

Título: ALGO RARO CON EL F88
Publicado por: championz 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!
Título: Re: ALGO RARO CON EL F88
Publicado por: Nocturno en 21 de Abril de 2006, 07:50:25
Adjunta aquí tu programa e intentamos ayudarte.
Título: Re: ALGO RARO CON EL F88
Publicado por: omix 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.