TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: antayhua en 28 de Julio de 2014, 23:42:55

Título: bit_set,bit_clear en MPLABX
Publicado por: antayhua en 28 de Julio de 2014, 23:42:55
Hola amigos alguno de ustedes me prodria decir como seria el código de la función bit_set() y bit_clear() lo quiero hacer en MPLABX pero no se me ocurre nada por el momento, estas funciones lo he visto en ccs pero lo quiero en mplabx, alguien sabría como hacerlo?.
Título: Re: bit_set,bit_clear en MPLABX
Publicado por: AKENAFAB en 29 de Julio de 2014, 01:18:49
Hola antayhua!

Revisa este link (http://www.todopic.com.ar/foros/index.php?topic=39799.0).

Te darás cuenta que lo puse para 32bits , si lo quieres a 8bits cámbialo por char.

Saludos!!

Código: C
  1. #define testbit(var,bit)    ((var) & ((unsigned long) 1<<(bit)))
  2. #define setbit(var,bit)     ((var)|= ((unsigned long) 1<<(bit)))
  3. #define clrbit(var,bit)     ((var)&=~((unsigned long) 1<<(bit)))
Título: Re: bit_set,bit_clear en MPLABX
Publicado por: antayhua en 29 de Julio de 2014, 10:37:40
Hola antayhua!

Revisa este link (http://www.todopic.com.ar/foros/index.php?topic=39799.0).

Te darás cuenta que lo puse para 32bits , si lo quieres a 8bits cámbialo por char.

Saludos!!

Código: C
  1. #define testbit(var,bit)    ((var) & ((unsigned long) 1<<(bit)))
  2. #define setbit(var,bit)     ((var)|= ((unsigned long) 1<<(bit)))
  3. #define clrbit(var,bit)     ((var)&=~((unsigned long) 1<<(bit)))

gracias por tu ayuda lo probrare.
Título: Re: bit_set,bit_clear en MPLABX
Publicado por: man3s en 31 de Julio de 2014, 01:54:21
Buenas amigo, tal y como dice  AKENAFAB, esos macros te serán de utilidad.

Código: [Seleccionar]
#define bit_clear(var, bit)       ((var) &= ~(1<<(bit)))
#define bit_set(var, bit)         ((var) |= (1<<(bit)))
#define bit_toggle(var, bit)      ((var) ^= (1<<(bit)))
#define bit_test(var, bit)        ((var) & (1<<(bit)))

Saludos.