TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: manuelroin24 en 29 de Septiembre de 2007, 15:36:23

Título: Como hacer un BTFSS en C ?
Publicado por: manuelroin24 en 29 de Septiembre de 2007, 15:36:23
Amigotes tengo una duda.

En Assemlber es facil hacer un testeo de un bit y esperar a q este cambie con BTFSS o BTFSC

como se haria en C ???
Título: Re: Como hacer un BTFSS en C ?
Publicado por: Rulo en 29 de Septiembre de 2007, 15:49:42


 Mmm  podria ser por ejemplo

 
Código: CSS
  1. int flag;
  2.  
  3.  if(bit_test(flag,0))   ///si es 1 el bit 0
  4.     hace algo
  5. else
  6.     otra cosa

       Espero te sirva
Título: Re: Como hacer un BTFSS en C ?
Publicado por: manuelroin24 en 29 de Septiembre de 2007, 16:20:19
Perfecto gracias por la aclaracion , me sirve de mucho
Título: Re: Como hacer un BTFSS en C ?
Publicado por: Cryn en 29 de Septiembre de 2007, 16:23:45
otra foram es definirlo como bit, por ejemplo:

#bit RB0=06.0  // RB0 es el nombre de la variable (o el pin en este caso); 06 es la direccion en la memoria y 0 es la posicion del bit que necesitamos

....
y despues:

if(RB0==1)
    {}
else
    {}

y creo que hay mas formas qeu vi por el subforo tb
Título: Re: Como hacer un BTFSS en C ?
Publicado por: manuelroin24 en 29 de Septiembre de 2007, 16:29:41
Muchas gracias todos los aportes son buenos , pq me encuentro tratando de aprender el CCS y ya ando bien con los ejemplos del gran VsZener pero cuando uno se lanza a realizar sus propias aplicaciones necesita de estas cositas y no es q VsZener no las enseñe sino q a veces es mas imaginacion de como armar lo q uno necesita. Muchas gracias!!!
Título: Re: Como hacer un BTFSS en C ?
Publicado por: Cryn en 29 de Septiembre de 2007, 16:34:35
que no se te olvide pasar por la pagina de aitopes (http://www.ucontrol.com.ar/wiki/index.php?title=CCS)
que dejo su link sobre el tema tb en el foro: aca (http://www.todopic.com.ar/foros/index.php?topic=18587.0)
Título: Re: Como hacer un BTFSS en C ?
Publicado por: manuelroin24 en 29 de Septiembre de 2007, 16:37:00
Hace tiempo q quiero entrar pero al menos aqui en Peru no puedo ingresar a ucontrol siempre la visitaba pero ahora no se puede no tengo idea de a q se debe.
Título: Re: Como hacer un BTFSS en C ?
Publicado por: Cryn en 29 de Septiembre de 2007, 16:41:17
parece que la pag esta en mantenimiento, jeje seguramente, yo tampoco puedo entrar ahora; ya lo estara solucionando el buen amigo aitopes en estos dias, a seguir intentando despues
Título: Re: Como hacer un BTFSS en C ?
Publicado por: manuelroin24 en 30 de Septiembre de 2007, 16:08:54
Logre entrar , felicitaciones al amigo AITOPES esta muy bien estructurado el curso gracias!!!
Título: Re: Como hacer un BTFSS en C ?
Publicado por: maunix en 04 de Octubre de 2007, 10:50:56
Otra forma podría ser definir una union y testear directmente el bit

Código: C
  1. typedef union {
  2.    char value;
  3.    struct {
  4.        unsigned bit0:1;
  5.        unsigned bit1:1;
  6.        unsigned bit2:1;
  7.        unsigned bit3:1;
  8.        unsigned bit4:1;
  9.        unsigned bit5:1;
  10.        unsigned bit6:1;
  11.        unsigned bit7:1;
  12.     }
  13. } TBYTE;
  14.  
  15. TBYTE a;
  16.  
  17. void main (void)
  18. {
  19.     if (a.bit3) {...}
  20.     else {...};
  21. }

La declaración de los bits dependerá del compilador de C que uses, pero lo importante es la idea.

Saludos