Dominic Harg
/
02_TINF_Bitmanipulation
Bitmanipulation mit Stick
Diff: main.cpp
- Revision:
- 1:d2cce2700a45
- Parent:
- 0:da2c2685a56c
- Child:
- 2:cf14d4fb9e33
--- a/main.cpp Mon Dec 02 18:28:53 2019 +0000 +++ b/main.cpp Mon Dec 16 18:22:18 2019 +0000 @@ -1,39 +1,44 @@ #include "mbed.h" +#define btn1 p14 // push joystick pin +#define btn2 p12 // joystick down + +BusOut leds(LED1,LED2,LED3,LED4); -BusOut leds(LED1, LED2, LED3, LED4); -DigitalIn btndown(p12); -DigitalIn btnleft(p13); -DigitalIn btnpush(p14); -DigitalIn btnup(p15); -DigitalIn btnright(p16); +Timer t1; +Ticker tick1, tick2; +Timeout tout; +InterruptIn btn_push(btn1); +InterruptIn btn_down(btn2); + +void blink_led1() +{ + leds = leds^0b0001; +} + +void shiftled() +{ + leds = leds | leds << 1; +} + +void turn_led2_on() +{ + leds = 0b0010; +} -void ledsreset(uint8_t mask); -void shiftlinks(); - +void ledsoff() +{ + leds = 0b0000; +} + int main() { - uint8_t mask = 0b00001111; - uint8_t value = 0b01010101; - while(1) - { - //leds = mask & value; - ledsreset(mask); - - if(btnleft) - { - shiftlinks(); - } - } + //t1.start(); + + tick1.attach(callback(&blink_led1), 1.0f); + tick2.attach(callback(&ledsoff), 10.0f); + + btn_push.rise(callback(&turn_led2_on)); + btn_down.rise(callback(&shiftled)); + //btn.fall(callback(&toggle_led2)); + } -void ledsreset(uint8_t mask) -{ - if(btnpush == 1) - { - leds = mask; - } -} -void shiftlinks() -{ - leds = leds << 1; - wait_ms(500); -} \ No newline at end of file