No funciona el define dentro de LibreriasTengo un problema a la hora de simular con
MPLAB SIM, es el siguente:
Estoy usando las funciones con la libreria "xlcd.h"para un LCD convencional (14 pines).
Cuando defino los parametros que me pide la libreria "xlcd.h" como (#define BIT8) para usar 8 lineas de transmision de datos el me compila perfectamente pero al simular no concuerda.
El ejemplo que voy a dar esta dividido en dos partes:
PARTE 1 (archivo
libreria.h)
se creara un libreria llamada "libreria.h" que contiene una funcion llamada (func1)
------------------------------------------------------
void func1 (void) {
ifdef BIT8 //Si se ha definido BIT8 entrara en la condicion
PORTB=255;
endif
Nop(); //este codigo se escribe para esplicar las adelante
Nop(); //realmente es codigo adicional o basura
Nop();
}
------------------------------------------------------
PARTE 2 (archivo
main.c)
------------------------------------------------------
#define BIT8
#include "libreria.h"
void main (void) {
func1(); //llama a la funcion para verificar si se ha definido BIT8
}
------------------------------------------------------
Segun lo que yo creo, pienso que al llamar func1() debe poner el PORTB=255 pero en el simulador no lo hace, simplemente se salta la condicion que esta dentro de la funcion y sigue ejecutando los
Nop() como si siguera el programa normalmente
No se que esta pasando.
El problema principal esta en que las definiciones que se hagan en en el archivo principal o en otras librerias no tienen valides alguna si se evaluan en otras librerias como la que coloque de ejemplo (
libreria.h)
Cualquier ayuda les agradesco......
