Definiowanie pojedynczych bitów zmiennych w Microchip C18

N

Nemesis77

Guest
Chcę, aby zdefiniować flagi w moim kodu.W assemblera użyłem to zrobić w następujący sposób:

flagi equ 0x020; Definiowanie zmiennych

# define flag0 flagi, 0; Flag0
# define flag1 flagi, 1; Flag0
itp.

Jak miałbym to zrobić w C18.tzn. chciałbym zdefiniować CHAR zmienna i chcę być w stanie ustawić lub wyczyścić każdy bit z 8bit CHAR zmiennej.C18 ma kilka predefiniowanych na przykład ...INTCONbits.GIE = 1; Oświadczenie to określa tylko 1 bit w rejestrze INTCON.

 
Korzystasz bitfields.

Kod:/*--- Relay Struktura ---*/struct RELAYBITS

(

unsigned RCA: 1; / * SEL_UNBAL relay * /

unsigned ziemi: 1; / * EARTHSEL relay * /

unsigned gruntu: 1; / * GND_RLY relay * /

unsigned fazy: 1; / * Faza inwertowanego relay * /

unsigned mostu: 1; / wzmacniacz trybie mono * * /

unsigned manekina: 2; / * Ustawienie bitów * /

unsigned wyciszyć: 1; / * MUTE relay * /

);/*--- Relay bitów unii ---*/typedef unii

(

struct RELAYBITS bitów;

unsigned char danych;

RELAY);lotnych RELAY RELAYbits;

 
Thanx btbass.To jest wielki, a nawet odebrać beter niż rzeczywiście potrzebne.

 

Welcome to EDABoard.com

Sponsor

Back
Top