Autor Tema: Variable tipo BIT en C18  (Leído 2128 veces)

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

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Variable tipo BIT en C18
« en: 17 de Septiembre de 2010, 13:19:32 »
Hola;

Alguien sabe como  declarar una variable tipo Bit en el compilador C18.

Saludos :lol:
Lo que no me destruye, me fortalece

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Variable tipo BIT en C18
« Respuesta #1 en: 17 de Septiembre de 2010, 13:23:21 »
C18 no tiene soporte para variables bits, pero puedes hacer lo siguiente:

Código: C
  1. typedef enum _BOOL{ FALSE = 0, TRUE } BOOL;  
  2.  
  3. BOOL Estado;
  4.  
  5. Estado=TRUE;
  6.  
  7. if(ESTADO==FALSE){
  8.  
  9. }

Tu la tratas como bit, pero en realidad es de 8-bits. Sino otra posibilidad es crear una estructura de bits:

Código: C
  1. typedef union
  2. {
  3.     UINT8 Val;
  4.     struct
  5.     {
  6.         UINT8 b0:1;
  7.         UINT8 b1:1;
  8.         UINT8 b2:1;
  9.         UINT8 b3:1;
  10.         UINT8 b4:1;
  11.         UINT8 b5:1;
  12.         UINT8 b6:1;
  13.         UINT8 b7:1;
  14.     };
  15. } UINT8_VAL, UINT8_BITS;


Saludos!
No contesto mensajes privados, las consultas en el foro