Autor Tema: Ayuda con (#define) en Microchip C18  (Leído 1839 veces)

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

Desconectado thehernancito

  • PIC10
  • *
  • Mensajes: 8
Ayuda con (#define) en Microchip C18
« en: 13 de Junio de 2005, 19:31:00 »
No funciona el define dentro de Librerias


Tengo 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......Giño





Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Ayuda con (#define) en Microchip C18
« Respuesta #1 en: 14 de Junio de 2005, 00:14:00 »
Pon el símbolo # delante de ifdef y de endif


 

anything