Bit macros in ioxxxx.h

Gast #771302
Lesenswert?

Hallo

Warum werden die Bit macros in ioxxx.h in folgender Form
1
#define INT0   0
2
#define INT1   1
3
#define INT2   2
und nicht in dieser Form geschrieben?
1
#define INT0   0x01
2
#define INT1   0x02
3
#define INT2   0x04
oder
1
#define INT0   (1 << 0)
2
#define INT1   (1 << 1)
3
#define INT2   (1 << 2)

Bei der ersten Variante muss ich bei jeder Benutzung das Schieben (1<< ) 
davor schreiben, bei mehreren Bits sogar mehrfach. Das macht das 
schreiben umständlich und übersichtlicher wird es auch nicht.

Mit generften Grüßen
Steffen
#771332
Lesenswert?

Nichts und niemand hindert dich daran aus den gegebenen
defines mit ein paar zusätzlichen Makros die Werte zu erzeugen,
die du haben willst. (*)
Aber der umgekehrte Weg, aus dem Portwert abzuleiten
welches Bit gesetzt ist, ist viel aufwändiger.


(*) zb so
#define BIT0  ( 1 << PB0 )
#define BIT1  ( 1 << PB1 )
#define BIT2  ( 1 << PB2 )
#define BIT3  ( 1 << PB3 )
#define BIT4  ( 1 << PB4 )
#define BIT5  ( 1 << PB5 )
#define BIT6  ( 1 << PB6 )
#define BIT7  ( 1 << PB7 )

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren