mikrocontroller.net

Forum: Compiler & IDEs Befehl aus RC5 Senderoutine nicht verständlich


Autor: Nico H. (gecko2152)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich hab ein Programmcode den ich zur zeit versuche nach zuvollziehen der 
RC5-Senderoutine beeinhaltet.
jedoch gib es dort ein Zeile wo ich nicht weiß was die eigentlich macht 
weil mir der Befehl bis jetzt noch nicht unter gekommen ist. Viell könnt 
ihr mir weiter helfen.

uint8_t half = (bit ^ ((halfbitcounter == 0) ? 1 : 0));

ich weiß hier wird eine variable definiert mit dem namen half und sollte 
eigentlich nur den wert 0 und 1 annehmen (Is aus ner Timerroutine)
bit is auch entweder eine 0 oder eine 1 sowie halnfbitcounter auch
mein problem is halt nur das ich jetzt nicht verstehe wie die einzelnen 
Komponenten nun verknüpft sind --> was bedeutet das ^, und das ? sowie 
das 1: 0 ???
Wenn s mir einer erklären könnte wäre ich sehr dankbar

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurz aus dem Handbuch:

^ bitwise exclusive or


?: conditional (the only 3-operand operator in C)

((halfbitcounter == 0) ? 1 : 0) ist eine Kurzform von IF

Liefert hier eine 1 (erster Rückgabewert) wenn die Bedingung
(halfbitcounter == 0) wahr ist sonst 0 (zweiter Rückgabewert)

if(halfbitcounter == 0){
        half = bit XOR 1;
       }
else {
        half = bit XOR 0;
       }

avr

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das dürfte dich interessieren:

http://lmgtfy.com/?q=c+tutorial+deutsch

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.