Mit Variable einen Bezeichner zusammenbasteln
-
Hi, habe folgendes Problem:
static void switch_relay(char pin_id1, char pin_id2)
{
PORTB = (0<<PB) | (0<<PB);
}Mal angenommen pin_id1 = 2, pin_id2 = 3 jetzt möchte ich genau das hinter
das jeweilige PB setzen. Der Compiler soll dann also die Funktion so
ausführen wie wenn sie so dastehen würde:static void switch_relay(char pin_id1, char pin_id2)
{
PORTB = (0<<PB2) | (0<<PB3);
}Kann mir da jemand weiterhelfen?
Gruß
tacklemoe
-
PB zum Array machen?
-
Es gibt mehrere Konstanten, die sind:
PB0
PB1
...
PB7Wie soll das per Array klappen (Code)?
Gruß
tacklemoe
-
int PB[7];
..
PORTB = (0<<PB[pin_id1]) | (0<<PB[pin_id2]);
-
Ne Moment, das is da glaub ich grad ein Verständnisproblem (is schwer zu erklären).
Die Konstanten sind schon definiert, ich kann daraus also kein Array machen.Ich weiß gar net wie ich das jetzt erklären soll..
Wie gesagt, brauch halt dieses PBx und x ist ne Zahl von 0 bis 7 die ich über ne Variable übergeben will.
Und zwar so das C dann halt weiß das ich die jeweilige Konstante, z.B. PB4 (wenn pin_id1 = 4 ist) meine.
-
Schon klar, aber das geht nicht. In C lassen sich keine Variablen zusammenbauen.
Du musst das über das Array machen.int PB_Array[] = { PB1, PB2, PB3 ... };
-
Jep, genau das hatte ich gesucht. Sorry das ich es erst so spät kapiert hab, is halt das mit dem Wald vor lauter Bäumen
Thanks a lot
tacklemoe