Hallo,
ich möchte gerne über Makros meine Ports als Ausgang definieren und
diese ein/ausschalten.
1 | #define _BV(b) (1UL << (b))
|
2 |
|
3 | #define CONCAT(a, b) a ## b
|
4 | #define PORTREG CONCAT( PORT, Port )
|
5 | #define DDRREG CONCAT( DDR, Port )
|
in der Funktion habe ich deklariert
1 | #define dataPort B
|
2 | #define dataPin 2
|
3 | ...
|
4 |
|
5 | DDRREG |= _BV( dataPort ); // enable output
|
6 | PORTREG &= ~_BV( dataPin ); // output low
|
allerdings kann ich es so nicht kompilieren. Der Fehler liegt in dem
define von PORTREG. Die Ausgabe des Compilers ist:
'B' was not declared in this scope
Ziel wäre es, mit dem define PORTREG und DDRREG den entsprechenden Pin
als Ausgang zu initialisiern und auf low zu schalten.
ist das irgendwie anders möglich? Weil so könnte ich das ganze globaler
halten um eventuelle änderungen leichter durchzuführen.