Neulich bin ich in einem Quelltext über die Verwendung von _BV
gestolpert, einem Präprozessor-Macro, das aus einer Pin-Nr. per shift
die entsprechende Bitmaske zaubert, wie ich durch googeln herausgefunden
habe, also etwa so:
1 | # define LED_PIN 3
|
2 |
|
3 | ...
|
4 |
|
5 | PORTx |= _BV(LED_PIN);
|
In dem Artikel wurde behauptet, dass es empfehlenswert ist, die Pins
zunächst direkt per Nummerierung zu definieren und dann eben _BV zu
verwenden. Allerdings wurde nicht begründet warum.
Ich mach das bisher immer so:
1 | #define LED_PIN 0b00001000
|
2 |
|
3 | ...
|
4 |
|
5 | PORTx |= LED_PIN;
|
für mich erschliesst sich der Grund nicht, was an der Version oben
besser sein soll. Gibt es einen triftigen Grund, oder ist das am Ende
einfach nur Geschmackssache?