TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: estalli2 en 30 de Marzo de 2012, 08:14:44

Título: Duda con variable
Publicado por: estalli2 en 30 de Marzo de 2012, 08:14:44
 :? Amigos,  estoy empezando con css, no pude encontrar en ningun lado como cargar una variable bit por bit..talvez no se como buscarlo.
Mi idea es cargar una variable con bits recogidos de una entrada del pic proveniente de un multiplexor.
Muchas gracias de antemano
Título: Re: Duda con variable
Publicado por: Diego E. en 30 de Marzo de 2012, 11:28:29
Hola amigo, pues yo lo haría así:

If(bit_test(porta,0 ==1) {bit_set(variable,0)}
else {bit_clear(variable,0)}

saludos
Título: Re: Duda con variable
Publicado por: Suky en 30 de Marzo de 2012, 12:23:06
Hola amigo, pues yo lo haría así:

If(bit_test(porta,0 ==1) {bit_set(variable,0)}
else {bit_clear(variable,0)}

saludos

Hay un error de paréntesis:

Código: C
  1. if(bit_test(porta,0) ==1)
  2. {
  3.     bit_set(variable,0);
  4. }
  5. else
  6. {
  7.    bit_clear(variable,0);
  8. }

También faltaría rotar la variable.

Otra opción es shift_xxx, buscando en el Help se muestra el siguiente ejemplo:

Código: C
  1. byte buffer[3];
  2.  
  3. for(i=0; i<=24; ++i){
  4.  
  5.    // Wait for clock high
  6.  
  7.    while (!input(PIN_A2));
  8.  
  9.    shift_left(buffer,3,input(PIN_A3));
  10.  
  11.    // Wait for clock low
  12.  
  13.    while (input(PIN_A2));
  14.  
  15. }
  16.  
  17. // reads 24 bits from pin A3,each bit is read
  18.  
  19. // on a low to high on pin A2


Saludos!