verstehe C-Code nicht!!!!

Gast #99574
Hallo!

Verstehe folgenden C-Code nicht:

void LCD_PutPixel(unsigned char x, unsigned char y, unsigned char Set)
{
unsigned int XY;
unsigned char bitByte;

  XY=0x200;
  XY=XY+(y*40);
  XY=XY+(x/6);

  LCD_SendData(XY & 0x00FF);
  LCD_SendData(XY>>8);
  LCD_SendCmd(0x24);        //pointer set

  bitByte=5-(x % 6);

  Set? bitByte|=0xF8: bitByte|=0xF0;

  LCD_SendCmd(bitByte);    //0b1111SXXX , s is set/reset, xxx is bit
number xxx
          //(Each memorybyte i six graphics bits (pixels))
}

Was bedeutet diese Zeile: Set? bitByte|=0xF8: bitByte|=0xF0;
Mich iritiert das Fragezeichen! Was soll das?
Gast
Das ist eine Fallunterscheidung:
Kannst du auch (umständlich) so schreiben:
if (set)
{
    bitByte|=0xF8;
}
else
{
    bitByte|=0xF0;
}

Gruß

Olli
Gast
% ist die Modulo-Operation. x % 6 ergbit den Rest der ganzzahligen
Division von x durch 6. Das wird also eine Zahl zwischen 0 und 5 sein.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.