Definering enkelt bit variabler i Microchip C18

N

Nemesis77

Guest
Jeg vil definere flag i min kode.I samlevirksomhed Jeg plejede at gøre det som følger:

flag EQU 0x020; Definer variable

# define flag0 flag, 0; Flag0
# define Flag1 flag, 1; Flag0
osv.

Hvordan vil jeg gøre dette i C18.dvs jeg ønsker at definere en CHAR variable, og jeg vil gerne være i stand til at fastsætte eller klare hver bit af 8bit CHAR variabel.C18 har nogle foruddefinerede for eksempel ...INTCONbits.GIE = 1; Opgørelsen indeholder kun 1 bit i INTCON register.

 
Du bruger bitfields.

Code:/*--- Relay Struktur ---*/struct RELAYBITS

(

usignerede RCA: 1; / * SEL_UNBAL relay * /

usignerede Jorden: 1; / * EARTHSEL relay * /

usignerede jord: 1; / * GND_RLY relay * /

usignerede fase: 1; / * Fase invertsukker relae * /

usignerede bro: 1; / * Mono forstærker mode * /

usignerede prøvedukkens: 2 / * Alignment bits * /

usignerede mute: 1; / * MUTE relae * /

);/*--- Relay bits union ---*/typedef union

(

struct RELAYBITS Bits;

usignerede CHAR data;

) RELAY;flygtige RELAY RELAYbits;

 
Thanx btbass.Det er en stor besvare og selv beter, end jeg rent faktisk havde brug for.

 

Welcome to EDABoard.com

Sponsor

Back
Top