www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik atmega8 einzelnen Pin schalten C


Autor: Der Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: staG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Der Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahhh, Okay vielen Dank.

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

Autor: bingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ganz easy: BSF PORTC, 1

Autor: bingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich vergass zu ergänzen: das geht nur bei den PICs

Autor: mar IO (Gast)
Datum:

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

Autor: Der Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weeil, | so quasi das UND in C sybolisiert... richtig?

Autor: mar IO (Gast)
Datum:

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

schau lieber selber nach

Autor: mar IO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Der Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Magnus M. (magnetus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche mir gerade die logische Verknüpfung "UND GELEGENTLICH" 
vorzustellen...

=)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.