mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ?-Operator in C


Autor: Bot-Builder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend allerseits!

Ich habe gerade meinen ersten, fast eigenen kleinen Bot fertiggestellt. 
Nur fast eigen deswegen, weil ich zunächst den Bot aus dem Elektorbuch 
Embedded Robotics nachgebaut habe. Dabei wird ein Board mit 89AT8252 
Controller verwendet. Als Entwicklungsumgebung wird der uC/51 ANSI C 
Compiler von Wickenhaeuser eingesett.

Und jetzt zu meiner eigentlichen Frage. In der im Buch beschriebenen Lib 
für die LC-Displayansteuerung findet sich für die Positionierung des 
Cursors folgende Funktion:


void lcd_goto(unsigned char line,unsigned char col)
{
   cursorpos = ((line & 1) ? 0x40:0)  + (col & 0x0f);
}
    


Ich verstehe den Ausdruck nicht. Was bewirkt vor allem ? 0x40:0  ?

Ich habe nirgendwo etwas über einen Operator ? gefunden. Und wie ist 
eine Hexazahl 0x40:0 zu lesen? Oder liege ich total daneben?

Wie gesagt, ich arbeit mich erst in das Thema ein. Und habe alle docs, 
Demos und Tutorien, die ich gefunden habe durchgearbeitet.

Könnte mir bitte jemand diesen Ausdruck erläutern?

Vielen Dank.

Und Viele Grüße

Uwe

Autor: Uwe ... (uwegw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Doppelpunkt gehört zum ?-Operator:
http://de.wikibooks.org/wiki/C-Programmierung:_Ope...

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurzschreibweise von IF-THEN-ELSE !

cursorpos =((line & 1) ? 0x40:0)

ist gleichbedeutend mit

  IF (line & 1)
    cursorpos = 0x40;
  ELSE
    cursorpos =0;

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.