Witam,
czy istnieje możliwość przechowania nazw portów i pinów w tablicy lub podobnej strukturze (coś na kształt tablicy definicji), tak żeby można je wywoływać kolejno w pętli, posługując się tylko indeksami tej tablicy?
Zamiast tworzyć coś takiego:
--------------------------
#define PORT_OUT1 PORTA
#define OUT1 0
#define PORT_OUT2 PORTA
#define OUT2 1
#define PORT_OUT3 PORTA
#define OUT3 2
#define PORT_OUT4 PORTA
#define OUT4 3
lub
#OUT1 PORTA|=(1<<0);
#OUT2 PORTA|=(1<<1);
#OUT3 PORTA|=(1<<2);
#OUT4 PORTA|=(1<<3);
--------------------------
utworzyć jakąś tablicę, dajmy na to OUT [] której elementami byłby
PORT_OUT1|=(1<<OUT1)
itd.
a następnie wywoływać to:
OUT[0]
itd.
?
Zdaję sobie sprawę, że wyżej wymieniony przypadek można by rozwiązać na przesunięciu bitowym, jednak chodzi mi o uniwersalny dostęp do wszystkich portów i ich dowolne definiowanie.
Mam nadzieję, że wyraziłem się w miarę zrozumiale. Będę wdzięczny za wszelkie podpowiedzi. Z góry dziękuję.
czy istnieje możliwość przechowania nazw portów i pinów w tablicy lub podobnej strukturze (coś na kształt tablicy definicji), tak żeby można je wywoływać kolejno w pętli, posługując się tylko indeksami tej tablicy?
Zamiast tworzyć coś takiego:
--------------------------
#define PORT_OUT1 PORTA
#define OUT1 0
#define PORT_OUT2 PORTA
#define OUT2 1
#define PORT_OUT3 PORTA
#define OUT3 2
#define PORT_OUT4 PORTA
#define OUT4 3
lub
#OUT1 PORTA|=(1<<0);
#OUT2 PORTA|=(1<<1);
#OUT3 PORTA|=(1<<2);
#OUT4 PORTA|=(1<<3);
--------------------------
utworzyć jakąś tablicę, dajmy na to OUT [] której elementami byłby
PORT_OUT1|=(1<<OUT1)
itd.
a następnie wywoływać to:
OUT[0]
itd.
?
Zdaję sobie sprawę, że wyżej wymieniony przypadek można by rozwiązać na przesunięciu bitowym, jednak chodzi mi o uniwersalny dostęp do wszystkich portów i ich dowolne definiowanie.
Mam nadzieję, że wyraziłem się w miarę zrozumiale. Będę wdzięczny za wszelkie podpowiedzi. Z góry dziękuję.