Wie splitte ich ein Byte richtig auf?

Gast #1568927
Hallo,
bräuchte eure Hilfe, zur gunde licgt volgender code in c:

void checkbyte(char c)
{
    if (c & 0b11110000 == hw_GetTWIAddr() )
    {

        printf_P(PSTR("Funktioniert"));
        printf_P(PSTR("%c"), c);
    }
    else printf_P(PSTR("Läuft nicht, falsche Adresse"));
}


die Funktion soll das byte was vom Uart des contrllers kommt (char c) 
aufsplitten und mit einer adresse vergleichen. dabei sollen nur die 
ersten 4 bit verglichen werden. If abfrage...



vielen dank schonmal im vorraus
Persönliche Seite
Abgesehen davon, daß C keine binäre Schreibweise à la 0b11110000 kennt*, 
und vielleicht noch 'n Klammerpaar gesetzt werden sollte, wenn man nicht 
nachsehen will, ob & in der Operatorenrangfolge vor == kommt, macht das 
doch in etwas das, was da beschrieben wird.

Und wobei brauchst Du jetzt Hilfe? Rechtschreibung? Fragen Stellen?



*) es gibt ein paar Compiler, die das am Standard vorbei machen, aber 
ratsam ist das dennoch nicht.
Gast
Welche Schreibweise kann man denn allgemein nutzen, wenn man einen Wert 
auf binäre Weise zuordnen will?

Glaube damals hieß der Pic-Compiler CC5x und ich meine der konnte das 
mal. Nun programmiere ich hauptsächlich AVRs. mit WINAVR, der kann das 
nicht.
Manchmal ist es übersichtlicher, ähnliches zu schreiben, wie: 
0b.1110.000 also 0xE0.
Gast
hab meine Frage gerade selbst beantwortet. Ich könnte ein Makro 
schreiben, so dass auf eine Fkt. zugreift. Diese Fkt bekommt die einen 
Zeiger auf die Bitfolge und tätigt entsprechende Zuweisungen alla asci-> 
hex und var = hex

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.