Autor Tema: codigo selectivo con inclusion condicional  (Leído 3133 veces)

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

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
codigo selectivo con inclusion condicional
« en: 22 de Junio de 2009, 03:20:11 »
hola amigos, es muy de noche, y estoy jugando con C, haciendo algunas practicas de C, y se me ocurrio hacer algo con las inclusiones condicionales, esto es que con ellas pueda seleccionar el tipo de reloj que quiero manejar para el microcontrolador con las opciones del preprocesador, por asi decirlo, si quiero manejarlo como un FEI o como un FEE, aqui pongo el pseudocodigo


Código: [Seleccionar]
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
#include "routines.h"
#include "MCU_Init.h"

#define FEI 1
#define FEE 0
#define CLOCK FEI


#if CLOCK==FEI{
  
   #define ISC "ICS_Init_FEI"
}
#else{
  
   #define ICS "ICS_Init_FEE"
}
  #endif
  
  
void main(void) {

MCU_Init();

  void ICS();

  EnableInterrupts; /* enable interrupts */
  /* include your code here */

for(;;){
  
 dummy_delay(60);
}

  
  /* please make sure that you never leave main */
}


la verdad ya se que suena tonta mi idea, y aun mas la forma de hacerla, pero se me hacer algo muy util poder definir que tipo de reloj quiero utilizar solo definiendo una macro en 1 o 0, si se dan cuenta en el codigo, lo que quiero hacer es que cuando define FEI o FEE para CLOCK, automaticamente el compilador eliga la funcion que difiere

ICS_Init_FEE();  ///esto si define el CLOCK como FEE

o en su caso contrario el compilador selecciona

ICS_Init_FEI(); //esto si define el CLOCK como FEI

se que hay una manera de hacerlo, ahora mismo no se me ocurre como hacerlo, alguien tiene alguna sugerencia, ahora mismo este codigo no me funciona

 :lol: :lol: :lol: :lol:

espero que no piensen que es muy tonta mi pregunta  :lol: :lol: :lol: :lol:
saludos

« Última modificación: 22 de Junio de 2009, 03:24:17 por scientist »
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: codigo selectivo con inclusion condicional
« Respuesta #1 en: 23 de Junio de 2009, 14:29:11 »
Hola Braulio, yo lo haria de la sgte manera:

Código: C
  1. #define USE_FEI
  2.  
  3. void ICS_Init( void )
  4. {
  5.    #ifdef USE_FEI
  6.    // Aqui las configuraciones para el FEI
  7.    #else
  8.    // Aqui las configuraciones para el FEE
  9.    #endif
  10. }

Para seleccionar la configuracion del FEE solo comentas el define del principio

Saludos !

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: codigo selectivo con inclusion condicional
« Respuesta #2 en: 23 de Junio de 2009, 19:23:36 »
Maestro, siempre aprendo de ti algo nuevo  :) :) :) :)

no lo habia intentado de esta manera, ahora mismo lo checo y pongo mis resultados, saludos RICHI777
  ya esta probado y funcionando
 :) :) :)
« Última modificación: 23 de Junio de 2009, 22:20:53 por scientist »
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: codigo selectivo con inclusion condicional
« Respuesta #3 en: 24 de Junio de 2009, 09:16:16 »
Hola Braulio, me llaman Richard.

Saludos !