hey!
in einer Headerdatei habe ich folgendes definiert:
1 | #define DATA_PORT PORTC
|
2 | #define DATA_DDR DDRC
|
3 | #define DATA_PORT_PIN PINC
|
4 | #define DATA_PIN PC0
|
5 | //IO-Makros
|
6 | #define DATA_PIN_OUTPUT DATA_DDR |= ( 1 << DATA_PIN)
|
7 | #define DATA (DATA_PORT_PIN & ( 1<< DATA_PIN))
|
Nun möchte ich verschiedene Daten-Pins nutzen, sprich im Programm
PC0..PC7 dem DATA_PIN zuweisen.
Eine Mehrfache Ausführung wie z.B.
1 | #define DATA_PIN_0 PC0
|
2 | #define DATA_PIN_1 PC1
|
3 | .
|
4 | .
|
5 | .
|
6 | #define DATA_PIN_OUTPUT_0 DATA_DDR |= ( 1 << DATA_PIN_0)
|
7 | #define DATA_PIN_OUTPUT_1 DATA_DDR |= ( 1 << DATA_PIN_1)
|
8 | #define DATA_0 (DATA_PORT_PIN_0 & ( 1<< DATA_PIN_0))
|
9 | #define DATA_1 (DATA_PORT_PIN_1 & ( 1<< DATA_PIN_1))
|
10 | .
|
11 | .
|
12 | .
|
wäre möglich, würde aber noch sehr viel mehr Arbeit nach sich ziehen.
Gibt's da ne elegante und ressourcenschonende Möglichkeit?
Vielen Dank schon mal im Voraus.