Zahlen- und Zeichencodes
Tools
Hier werden Tools, Tipps und sonst nützliches gesammelt und eingestellt. Bei Fehler und Verbesserungen bitte melden.
Schreibweisen
PORTB |= ((1 << PB1) | (1 << PB3));
setzt Bit 1 und 3
PORTB &= ~((1 << PB1) | (1 << PB3));
löscht Bit 1 und 3 in PORTB
PORTB ^= (1<<PB0);
das Bit PB0 wird getoggelt
Abfragen
if (!(tmp & 0x10)) #0b00010000
abfrage ist Bit 4 gelöscht
if ((tmp & 0x11) == 0) #0b00010001
abfrage ob zwei verschiedene Bit gelöscht sind
if (~tmp & 0x11) #0b00010001
abfrage ob Bit 0 oder Bit 4 gelöscht sind
if (tmp & 0x80) #0b00001000
abfrage ob Bit 4 gesetzt ist
if (tmp & 0x18) #0b00011000
abfrage ob Bit 3 oder 4 gesetzt sind
if ((tmp & 0x18) == 0x18) #0b00011000
abfrage ob Bit 3 und 4 gesetzt sind
Abkürzungen
a = a << 3; entspricht a <<= 3;
a = a >> 3; entspricht a >>= 3;
a = a & 0x03 entspricht a &= 0x03;
a = a | 0x03; entspricht a |= 0x03;
a = a ^ 0x03; entspricht a ^= 0x03;
a = a + 1; entspricht a++;
Masken
#define MASK_A ((1<<PINC4))
#define MASK_C ((1<<PINC4)|(1<<PINC5))
//Nun alle Pin auf High prüfen
if( ((PINA & MASK_A) == MASK_A) &&
((PINC & MASK_C) == MASK_C)) //usw