Aufgaben Bitmanipulation
a) Setze folgende Bits:
a1) Bit 2 in PORTB
a2) Bits 1 und 5 in PORTB
a3) Bits 1, 2, 4, 5 und 6 in PORTB
b) Lösche folgende Bits:
b1) Bit 2 in PORTB
b2) Bits 1 und 5 in PORTB
b3) Bits 1, 2, 4, 5 und 6 in PORTB
c) Toggel folgende Bits:
c1) Bit 2 in PORTB
c2) Bits 1 und 5 in PORTB
c3) Bits 1, 2, 4, 5 und 6 in PORTB
Die Lösungen stehen am Ende der Seite.
Lösungen:
a) Setzen von Bits
a1)
PORTB = PORTB | 0b00000100;
PORTB |= 0b00000100;
PORTB = PORTB | 0x04;
PORTB |= 0x04;
PORTB = PORTB | 4;
PORTB |= 4;
PORTB=PORTB | (1<<2);
PORTB |= (1<<2);
a2)
PORTB = PORTB | 0b00100010;
PORTB |= 0b00100010;
PORTB = PORTB | 0x22;
PORTB |= 0x22;
PORTB = PORTB | 34;
PORTB |= 34;
PORTB=PORTB | (1<<1)| (1<<5);
PORTB |= (1<<1)| (1<<5);
a3)
PORTB = PORTB | 0b01110110;
PORTB |= 0b01110110;
PORTB = PORTB | 0x76;
PORTB |= 0x76;
PORTB = PORTB | 118;
PORTB |= 118;
PORTB=PORTB | (1<<1)| (1<<2)| (1<<4)| (1<<5)| (1<<6);
PORTB |= (1<<1)|(1<<2)| (1<<4)| (1<<5)| (1<<6);
b) Löschen von Bits
b1)
PORTB = PORTB & ~0b00000100;
PORTB &= ~0b00000100;
PORTB = PORTB & ~0x04;
PORTB &= ~0x04;
PORTB = PORTB & ~4;
PORTB &= ~4;
PORTB=PORTB & ~(1<<2);
PORTB &= ~(1<<2);
b2)
PORTB = PORTB & ~0b00100010;
PORTB &= ~0b00100010;
PORTB = PORTB & ~0x22;
PORTB &= ~0x22;
PORTB = PORTB & ~34;
PORTB &= ~34;
PORTB=PORTB & ~((1<<1)| (1<<5));
PORTB &= ~((1<<1)| (1<<5));
b3)
PORTB = PORTB & ~0b01110110;
PORTB &= ~0b01110110;
PORTB = PORTB & ~0x76;
PORTB &= ~0x76;
PORTB = PORTB & ~118;
PORTB &= ~118;
PORTB=PORTB & ~((1<<1)| (1<<2)| (1<<4)| (1<<5)| (1<<6));
PORTB &= ~((1<<1)|(1<<2)| (1<<4)| (1<<5)| (1<<6));
c) Toggeln von Bits
c1)
PORTB = PORTB ^ 0b00000100;
PORTB ^= 0b00000100;
PORTB = PORTB ^ 0x04;
PORTB ^= 0x04;
PORTB = PORTB ^ 4;
PORTB ^= 4;
PORTB=PORTB ^ (1<<2);
PORTB ^= (1<<2);
c2)
PORTB = PORTB ^ 0b00100010;
PORTB ^= 0b00100010;
PORTB = PORTB ^ 0x22;
PORTB ^= 0x22;
PORTB = PORTB ^ 34;
PORTB ^= 34;
PORTB=PORTB ^ ((1<<1)| (1<<5));
PORTB ^= (1<<1)| (1<<5);
c3)
PORTB = PORTB ^ 0b01110110;
PORTB ^= 0b01110110;
PORTB = PORTB ^ 0x76;
PORTB ^= 0x76;
PORTB = PORTB ^ 118;
PORTB ^= 118;
PORTB=PORTB ^ ((1<<1)| (1<<2)| (1<<4)| (1<<5)| (1<<6));
PORTB ^= (1<<1)|(1<<2)| (1<<4)| (1<<5)| (1<<6);