Portpins Variabel ansprechen

Gast #4634264
Lesenswert?
• ▲
▼
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
Gast #4634308
Lesenswert?
• ▲
▼
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.
Gast #4634313
Lesenswert?
• ▲
▼
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.
#4634376
Lesenswert?
• ▲
▼
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
Gast #4634454
Lesenswert?
• ▲
▼
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
#4634601
Lesenswert?
• ▲
▼
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).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren