Stefan Simbürger / Mbed 2 deprecated SetDelTogBits

Dependencies:   mbed

Committer:
Ursukar
Date:
Sat Jan 11 10:31:57 2020 +0000
Revision:
3:fb1e6ef6e655
Parent:
2:488fedfa3e4e
Bitmanipulation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ursukar 0:b3ff6214f9c0 1 //////////////////////////////////////////////
Ursukar 0:b3ff6214f9c0 2 // Setzen/Löschen/Togglen //
Ursukar 0:b3ff6214f9c0 3 // NUCLEO-L432KC //
Ursukar 0:b3ff6214f9c0 4 // Stefan Simbürger //
Ursukar 0:b3ff6214f9c0 5 // 10.01.2020 //
Ursukar 0:b3ff6214f9c0 6 // Der einfachkeitshalber wurde die //
Ursukar 0:b3ff6214f9c0 7 // Aufgabe mit 8 Leds und 5 Buttons //
Ursukar 0:b3ff6214f9c0 8 // bei einem bestehenden Aufbau //
Ursukar 0:b3ff6214f9c0 9 // durchgeführt //
Ursukar 0:b3ff6214f9c0 10 //////////////////////////////////////////////
Ursukar 0:b3ff6214f9c0 11
Ursukar 0:b3ff6214f9c0 12 #include "mbed.h"
Ursukar 0:b3ff6214f9c0 13
Ursukar 2:488fedfa3e4e 14
Ursukar 3:fb1e6ef6e655 15 BusOut Leds(D12, D11, D10, D6, D5, D4, D3, D2);
Ursukar 2:488fedfa3e4e 16 BusIn Btn(A0, A1, A2, A6, A7);
Ursukar 1:1b60b274d6fc 17 Timer T1;
Ursukar 0:b3ff6214f9c0 18
Ursukar 0:b3ff6214f9c0 19 int main() {
Ursukar 0:b3ff6214f9c0 20 uint8_t maskLsbMsb = 0x81;
Ursukar 1:1b60b274d6fc 21 T1.start();
Ursukar 1:1b60b274d6fc 22 unsigned long actualTime;
Ursukar 1:1b60b274d6fc 23 unsigned long lastTrigger;
Ursukar 1:1b60b274d6fc 24 uint8_t ButtonState;
Ursukar 1:1b60b274d6fc 25 uint8_t LastButtonState;
Ursukar 1:1b60b274d6fc 26
Ursukar 0:b3ff6214f9c0 27 while(1) {
Ursukar 1:1b60b274d6fc 28 ButtonState = Btn.read();
Ursukar 1:1b60b274d6fc 29 actualTime = T1.read_ms();
Ursukar 0:b3ff6214f9c0 30 // Sets LSB and MSB
Ursukar 0:b3ff6214f9c0 31 if(Btn == 0x01) // Button A0
Ursukar 0:b3ff6214f9c0 32 {
Ursukar 0:b3ff6214f9c0 33 Leds = Leds | maskLsbMsb;
Ursukar 0:b3ff6214f9c0 34 }
Ursukar 0:b3ff6214f9c0 35 // Deletes LSB and MSB
Ursukar 0:b3ff6214f9c0 36 if(Btn == 0x02) // Button A1
Ursukar 0:b3ff6214f9c0 37 {
Ursukar 0:b3ff6214f9c0 38 Leds = Leds & !maskLsbMsb;
Ursukar 0:b3ff6214f9c0 39 }
Ursukar 0:b3ff6214f9c0 40 // Toggles LSB and MSB
Ursukar 1:1b60b274d6fc 41 // Debouncing the button
Ursukar 1:1b60b274d6fc 42 if(Btn == 0x04 && ButtonState ^ LastButtonState && (actualTime - lastTrigger) > 500 ) // Button A2
Ursukar 0:b3ff6214f9c0 43 {
Ursukar 0:b3ff6214f9c0 44 Leds = Leds ^ maskLsbMsb;
Ursukar 1:1b60b274d6fc 45 lastTrigger = T1.read_ms();
Ursukar 0:b3ff6214f9c0 46 }
Ursukar 1:1b60b274d6fc 47 LastButtonState = ButtonState;
Ursukar 2:488fedfa3e4e 48 // Sets all LEDs
Ursukar 2:488fedfa3e4e 49 if(Btn == 0x03) // Button A0 & A1
Ursukar 2:488fedfa3e4e 50 {
Ursukar 2:488fedfa3e4e 51 Leds = Leds | 0xFF;
Ursukar 2:488fedfa3e4e 52 }
Ursukar 2:488fedfa3e4e 53 // Deletes all seted LEDs
Ursukar 2:488fedfa3e4e 54 if(Btn == 0x08) // Button A6
Ursukar 2:488fedfa3e4e 55 {
Ursukar 2:488fedfa3e4e 56 Leds = Leds & ~Leds.read();
Ursukar 2:488fedfa3e4e 57 }
Ursukar 2:488fedfa3e4e 58 // Sets 3rd and 5th LED
Ursukar 2:488fedfa3e4e 59 if(Btn == 0x10) // Button A7
Ursukar 2:488fedfa3e4e 60 {
Ursukar 2:488fedfa3e4e 61 Leds = Leds | 0x14;
Ursukar 2:488fedfa3e4e 62 }
Ursukar 0:b3ff6214f9c0 63 }
Ursukar 0:b3ff6214f9c0 64 }