AVR C++ GCC Binärcode anstatt DEZ

Gast #949854
Lesenswert?
• ▲
▼
>Die ist zwar einfacher, aber schlechter lesbarer. Bleibe lieber bei
>obiger Klammernkonstruktion!

Die würde ich dann aber noch etwas lesbarer gestalten, z. B.:
PORTD = 1 << PD2;

Das macht bei einem Portregister noch nichts, aber wenn es an 
Timerregister o. ä. geht ist es hilfreicher.

MW
Moderator (Firma: Titel) Persönliche Seite #949873
Lesenswert?
• ▲
▼
Da gibt es tausend Möglichkeiten ein Byte zu beschreiben,
aber das ist sicher eine der am wenigsten schönen:
>PORTD = (1<<1)|(0<<2)|(0<<3)|(1<<4)|(0<<5)|(1<<6)|(1<<7);

- vor lauter Sonderzeichen sieht man die eigentliche Information nicht
- einzelne Bits (Bit 0) sind ausgelassen (und damit implizit 0)
- die Reihenfolge der Bits entspricht nicht der üblichen Leserichtung

>PORTD = (1<<7)|(1<<6)|(1<<4)|(1<<1);
ist das gleiche

>PORTD = 0b11010010;
ist das gleiche

>PORTD = 0xD2;
ist das gleiche

und jedes Mal schneller lesbar.
Ich bevorzuge bei solchen statischen Zuweisungen die Hex-Schreibweise, 
das muss man auch nur 1 mal lernen, danach kann man sich 
Bitkombinationen viel leichter merken ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren