Hola, quería consultarles acerca de un inconveniente que estoy teniendo con un programa que hice y el compilador MikroC para PIC.
El tema es así, tengo hecha una placa que tiene un LCD de 16 caracteres y dos lineas, un teclado matricial 4x4, un par de sensores infrarrojos y un sensor de ultrasonido. Todo esto conectado a un PIC16F886. El programa que maneja todo, tiene varias rutinas, las mismas, por separado funcionan correctamente, pero al ponerlas todas juntas, hacen cosas extrañas.
El equipo tiene la tarea de identificar y contar cajas de distinto tamaño, para esto, cuando pasa una caja por delante del equipo, mira el estado de los sensores, y determina de que tipo de caja se trata y la contabiliza.
Las rutinas que realizan esta tarea andan perfecto, pero agregué una rutina para que se pueda hacer un "diagnóstico" del equipo y otra para el teclado que simplemente lo que hacen es mostrar por pantalla el estado de los sensores o la tecla que se presionó para verificar el correcto funcionamiento de estos periféricos. La rutina que hace esto, funciona bien, el tema es que cuando pongo todo en el programa y lo subo al PIC, hace cosas raras como por ejemplo escribir mal los caracteres en el LCD o que deje de responder una columna o una fila en el teclado. Todo esto depende del orden en el que ponga las rutinas en el programa.
El comportamiento me hace sospechar del compilador.
Recuerdo cosas que me han pasado cuando programaba en assembler en el MPLAB que era que cuando el programa tomaba cierto tamaño y me cambiaba de bloque de memoria, y se hacía lío con los punteros que ya no podían direccionar hasta ese bloque y yo me olvidaba de corregirlo y el programa se comportaba de manera extraña.
Se supone que en este tipo de programas como el MikroC hacen todo esto automático, pero es lo único que se me ocurre, ya que algunos errores tiene, de hecho cuando compila, una de las palabras de configuración la arma mal y da error al grabar en el pic porque le pone valores a bits que el pic no usa...
A alguien le pasó algo parecido? por donde puedo buscar??
Muchas gracias