Forum: Mikrocontroller und Digitale Elektronik atmega8 einzelnen Pin schalten C


von Der Lars (Gast)


Lesenswert?

Alsoo

mit dem Befehl "PORTC = (1<<PC1)"
setze ich ja den PIN1 von PortC auf 1.
Allerdings setze ich damit auch gleichzeitig alle anderen Pins von PORTC 
auf 0.
Das möchte ich aber nicht. Ich möchte das Pin1 auf 1 gesetzt wird und 
die restlichen so bleiben wie sie sind.

Ich könnte natürlich folgendes machen: PORTC = (1<<PC0)| (1<<PC1)|...
Allerdings passt das in meinem Projekt grade nicht, da ich nicht immer 
weiß, wann welcher PIN geschaltet ist.

Also meine Frage nun:
Wie müsste die Codezeile heißen, damit nur der gewünschte PIN geschaltet 
wird, ohne dass die anderen sich ändern?

Schoma Vielen Dank im Vorraus.
Der Lars

von staG (Gast)


Lesenswert?


von Michael H. (michael_h45)


Lesenswert?


von Der Lars (Gast)


Lesenswert?

Ahhh, Okay vielen Dank.

Habs erst mit PORTC &= .... versucht. aber mit |= klappt es. vielen Dank

von bingo (Gast)


Lesenswert?

ganz easy: BSF PORTC, 1

von bingo (Gast)


Lesenswert?

ich vergass zu ergänzen: das geht nur bei den PICs

von mar IO (Gast)


Lesenswert?

Und hast Du auch verstanden warum "|=" und nicht "&="?

von Der Lars (Gast)


Lesenswert?

Weeil, | so quasi das UND in C sybolisiert... richtig?

von mar IO (Gast)


Lesenswert?

Der Lars schrieb:
> Weeil, | so quasi das UND in C sybolisiert... richtig?

schau lieber selber nach

von mar IO (Gast)


Lesenswert?


von Falk B. (falk)


Lesenswert?


von Rolf Magnus (Gast)


Lesenswert?

bingo schrieb:
> ganz easy: BSF PORTC, 1

Das muß ein seltsamer C-Compiler sein...

bingo schrieb:
> ich vergass zu ergänzen: das geht nur bei den PICs

Ach so. Na dann hast du das Thema ja eh schon verfehlt.

Der Lars schrieb:
> Weeil, | so quasi das UND in C sybolisiert... richtig?

Nein. Wie kommst du auf die Idee, daß du da ein UND benötigen könntest?

von Der Lars (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Nein. Wie kommst du auf die Idee, daß du da ein UND benötigen könntest?

Weil ich gedacht habe, dass ich ja die vorhandenen Pins >UND< den 
dazukommenden Pin schalten möchte und desshalb bin ich auf die Idee 
gekommen, dass ich ein UND benötigen könnte...

von Karl H. (kbuchegg)


Lesenswert?

Der Lars schrieb:
> Rolf Magnus schrieb:
>> Nein. Wie kommst du auf die Idee, daß du da ein UND benötigen könntest?
>
> Weil ich gedacht habe, dass ich ja die vorhandenen Pins >UND< den
> dazukommenden Pin schalten möchte und desshalb bin ich auf die Idee
> gekommen, dass ich ein UND benötigen könnte...

Da siehst du mal, wie schlampig wir UND und ODER in der Alltagssprache 
benutzen.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Ich versuche mir gerade die logische Verknüpfung "UND GELEGENTLICH" 
vorzustellen...

=)

von Karl H. (kbuchegg)


Lesenswert?

Magnus Müller schrieb:
> Ich versuche mir gerade die logische Verknüpfung "UND GELEGENTLICH"
> vorzustellen...
>
> =)

Dazu musst du aber erst mal ternäre Logik implementieren

 Ja, Nein, Weiß noch nicht

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
Noch kein Account? Hier anmelden.