Bit toewijzen in xdata

T

tom12sg

Guest
Hoi,

Advies nodig over de volgende punten:

Ik gebruik Keil voor 8051.
Normaal gesproken zal ik gebruik een beetje voor vlag-test
bv. bit flag_error = 0;

Hoe kan ik gebruiken xdata plaats?Hoe geef een naam op elke individuele bits in de xdata?
Geef eenvoudig voorbeeld over hoe in te stellen / duidelijke / test een beetje
Is er een gemakkelijke manier?

Groeten,

 
Paar manieren:
1.gebruik maken van een struct bitfield - horloge bitfield orde.

typedef struct (tagBit
unsigned char b0: 1;
unsigned char B1: 1;
unsigned char b2: 1;
unsigned char b3: 1;
unsigned char b4: 1;
unsigned char b5: 1;
unsigned char b6: 1;
unsigned char b7: 1;
) Bits;

xdata Bit test;
test.b0 = 1;

2.De zin eenvoudige toegang tot functies op een data-byte, bijvoorbeeld.

# define SetBit (var, plaats) (var | = (1 <<plaats))
# define ClrBit (var, plaats) (var & = ~ (1 <<plaats))
# define ValBit (var, plaats) (var & (1 <<plaats))

# define TEST 0
unsigned chat var1;
SetBit (var1, TEST)

Hoop dat dit helpt.
Groeten
NTFreak

 

Welcome to EDABoard.com

Sponsor

Back
Top