Autor Tema: Como hacer un BTFSS en C ?  (Leído 2519 veces)

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

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Como hacer un BTFSS en C ?
« 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 ???
El conocimiento se consigue a base de esfuerzo...

Desconectado Rulo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 168
Re: Como hacer un BTFSS en C ?
« Respuesta #1 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

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Como hacer un BTFSS en C ?
« Respuesta #2 en: 29 de Septiembre de 2007, 16:20:19 »
Perfecto gracias por la aclaracion , me sirve de mucho
El conocimiento se consigue a base de esfuerzo...

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Como hacer un BTFSS en C ?
« Respuesta #3 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
.

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Como hacer un BTFSS en C ?
« Respuesta #4 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!!!
El conocimiento se consigue a base de esfuerzo...

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Como hacer un BTFSS en C ?
« Respuesta #5 en: 29 de Septiembre de 2007, 16:34:35 »
que no se te olvide pasar por la pagina de aitopes
que dejo su link sobre el tema tb en el foro: aca
.

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Como hacer un BTFSS en C ?
« Respuesta #6 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.
El conocimiento se consigue a base de esfuerzo...

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Como hacer un BTFSS en C ?
« Respuesta #7 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
.

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Como hacer un BTFSS en C ?
« Respuesta #8 en: 30 de Septiembre de 2007, 16:08:54 »
Logre entrar , felicitaciones al amigo AITOPES esta muy bien estructurado el curso gracias!!!
El conocimiento se consigue a base de esfuerzo...

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Como hacer un BTFSS en C ?
« Respuesta #9 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
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)