Hallo alle zusammen, ich habe eine Frage: ist möchte mehrere LEDs in Abhängigkeit einer Variablen ansprechen, sodass je nach dem Wert dieser Variablen nur eine bestimmte LED angeschaltet wird. Könnte man das so machen: unsigned int x; berechnung von x; P2^x=1; // Einschalten der x-ten LED Vielen Danke schon mal für eure Hilfe C167
C167 schrieb: > Könnte man das so machen: Nö. Es sieht so aus, als ob du dich erstmal mit den Grundlagen einer Programmiersprache deiner Wahl beschäftigen solltest!?
Du meinst sicher P2=2^x; oder besser formuliert (schieben statt potenzieren) P2=1<<x;
Das ist wirklich nett von dir, Ralf. Muss man sich in den Grundlagen auskennen um hier fragen zu dürfen? Es ist leider so, dass ich mir schon Mühe gegeben habe um die Grundlagen zu verstehen. Ich habe gehofft, dass hier geholfen wird, auch wenn man etwas aus den Grundlagen falsch verstanden hat. Ich glaube die Leds anzuschalten ist keine Aufgabe für Profis. Durch die Frage ist es ersichtlich, dass ich in c neu bin.
Wenn du gerade mit C anfängst, hast du schon mit Arrays gearbeitet? Das ist eine prima Möglichkeit, um so etwas, wie du machen möchtest, umzusetzen. Du speicherst deine Port Pins in einem Array und kannst dann über den Index auf die einzelnen Pins zugreifen. Die Pins können dann auch von Unterschiedlichen Ports kommen oder in einer anderen Reihenfolge im Array liegen, als sie vom Controller kommen.
Hallo, Lisa schrieb: > Das ist wirklich nett von dir, Ralf. Muss man sich in den Grundlagen > auskennen um hier fragen zu dürfen? Es ist leider so, dass ich mir schon > Mühe gegeben habe um die Grundlagen zu verstehen. Ich habe gehofft, dass > hier geholfen wird, auch wenn man etwas aus den Grundlagen falsch > verstanden hat. bist Du nun Lisa oder C167??? Egal, erkläre uns doch einfach mit gesundem Menschenverstand erklärst, wie man P2^x den Wert 1 zuweist. So mit einem Beispiel, wo die 1 landen soll... Gruß aus Berlin Michael
Hallo C167, an die Kindsköpfe hier im Forum muss man sich gewöhnen. Wie restmuell schon schrieb... DDRA=255; // Port A als Ausgang PORTA = 1<<x; // i-ten Pin anschalten so ginge das beispielsweise. der << Operator bewirkt einen Bit-shift, entspricht einer Multiplikation der 1 mit 2^x (2 hoch x). Gruss
Lisa schrieb: > Muss man sich in den Grundlagen auskennen um hier fragen zu dürfen? Das sollte man schon, wenn man mit einer Frage einsteigt, die zur Beantwortung die Grundlagen voraussetzt. > Es ist leider so, dass ich mir schon Mühe gegeben habe um die Grundlagen zu > verstehen. [...] Durch die Frage ist es ersichtlich, dass ich in c neu bin. C167 schrieb: > P2^x=1; // Einschalten der x-ten LED Gibt es eine irgendeine Programmiersprache, mit der du dich schon mal beschäftigt hast (in C bist du ja neu), bei der man einer Berechnung einen Wert zuweisen kann? vorticon schrieb: > DDRA=255; // Port A als Ausgang > PORTA = 1<<x; // i-ten Pin anschalten > > so ginge das beispielsweise. Ja, möglich, zum Beispiel. Und das gehört eben zu den Grundlagen: > der << Operator bewirkt einen Bit-shift, entspricht einer Multiplikation > der 1 mit 2^x (2 hoch x). Das gibt es in anderen Programmiersprachen auch (in C bist du ja neu).
Du hast wohl nicht viel zu tun, wenn du so schimpfst. Naja ich bin mal weg.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.