Título: Re:DIRECTIVAS CCS
Publicado por: KILLERJC en 09 de Febrero de 2017, 09:20:39
si se puede, el tema esta en que eso ocurre unicamente en el momento de compilacion y no en runtime (a medida que el codigo se ejecuta)
Título: Re:DIRECTIVAS CCS
Publicado por: micronet3 en 09 de Febrero de 2017, 19:31:50
si comprendo, pero hay alguna manera de definir el stream con una variable
algo asi?
if (n==1) STRCPY(PT,"PT1") ELSE IF(N==2) STRCPY(PT,"PT2") END IF
Fprintf(PT,"holaa mundo ");
Título: Re:DIRECTIVAS CCS
Publicado por: KILLERJC en 10 de Febrero de 2017, 08:56:48
En forma de codigo, se analiza en runtime, todo el codigo se carga dentro del micro.
Código: C
int n =1;
if(n==1)
{
Fprintf(PT1,"holaa mundo ");
}
elseif(N==2)
{
Fprintf(PT2,"holaa mundo ");
}
Directivas, La diferencia es que N no es una variable, es una constante, la otra es que solo compila y carga el codigo de cual corresponda en el micro.
Código: C
#define N 1
#IF N == 1
Fprintf(PT1,"holaa mundo ");
#ELIF N == 2
Fprintf(PT2,"holaa mundo ");
#ENDIF
Ejemplo de codigo, suponete este codigo
Código: C
#define N 1
output_bit(PIN_A0,1);
#IF N == 1
Fprintf(PT1,"holaa mundo ");
#ELIF N == 2
Fprintf(PT2,"holaa mundo ");
#ENDIF
output_bit(PIN_A0,0);
En el micro solo se quedaria, (se omite el fprintf de PT2 ):
Código: C
output_bit(PIN_A0,1);
Fprintf(PT1,"holaa mundo ");
output_bit(PIN_A0,0);
PD: No se que tipo de clase sea el "STREAM" de los printf, tal ves sea un int, o algo interno a CCS, pero no creo que sea un string como para que puedas copiarlo asi.
Título: Re:DIRECTIVAS CCS
Publicado por: micronet3 en 10 de Febrero de 2017, 11:11:32
ok gracias , tendre que usar la primera opcion, ya que el usuario va a elegir por medio de un menu como va a trabajar. lo que estaba buscando era simplificar el codigo, pero ni modo, lo bueno es que memoria me sobra