Dominic Harg
/
02_TINF_Bitmanipulation
Bitmanipulation mit Stick
main.cpp@2:cf14d4fb9e33, 2019-12-16 (annotated)
- Committer:
- haunsi
- Date:
- Mon Dec 16 18:30:19 2019 +0000
- Revision:
- 2:cf14d4fb9e33
- Parent:
- 1:d2cce2700a45
Interrupt_Spielereien
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
haunsi | 0:da2c2685a56c | 1 | #include "mbed.h" |
haunsi | 1:d2cce2700a45 | 2 | #define btn1 p14 // push joystick pin |
haunsi | 1:d2cce2700a45 | 3 | #define btn2 p12 // joystick down |
haunsi | 1:d2cce2700a45 | 4 | |
haunsi | 1:d2cce2700a45 | 5 | BusOut leds(LED1,LED2,LED3,LED4); |
haunsi | 0:da2c2685a56c | 6 | |
haunsi | 1:d2cce2700a45 | 7 | Timer t1; |
haunsi | 1:d2cce2700a45 | 8 | Ticker tick1, tick2; |
haunsi | 1:d2cce2700a45 | 9 | Timeout tout; |
haunsi | 1:d2cce2700a45 | 10 | InterruptIn btn_push(btn1); |
haunsi | 1:d2cce2700a45 | 11 | InterruptIn btn_down(btn2); |
haunsi | 1:d2cce2700a45 | 12 | |
haunsi | 1:d2cce2700a45 | 13 | void blink_led1() |
haunsi | 1:d2cce2700a45 | 14 | { |
haunsi | 1:d2cce2700a45 | 15 | leds = leds^0b0001; |
haunsi | 1:d2cce2700a45 | 16 | } |
haunsi | 1:d2cce2700a45 | 17 | |
haunsi | 1:d2cce2700a45 | 18 | void shiftled() |
haunsi | 1:d2cce2700a45 | 19 | { |
haunsi | 2:cf14d4fb9e33 | 20 | leds = leds << 1; |
haunsi | 2:cf14d4fb9e33 | 21 | leds = leds | 0b0010; |
haunsi | 2:cf14d4fb9e33 | 22 | if ( leds == 0b1111) |
haunsi | 2:cf14d4fb9e33 | 23 | { |
haunsi | 2:cf14d4fb9e33 | 24 | leds = leds ^ 0b1111; |
haunsi | 2:cf14d4fb9e33 | 25 | } |
haunsi | 1:d2cce2700a45 | 26 | } |
haunsi | 1:d2cce2700a45 | 27 | |
haunsi | 1:d2cce2700a45 | 28 | void turn_led2_on() |
haunsi | 1:d2cce2700a45 | 29 | { |
haunsi | 1:d2cce2700a45 | 30 | leds = 0b0010; |
haunsi | 1:d2cce2700a45 | 31 | } |
haunsi | 0:da2c2685a56c | 32 | |
haunsi | 1:d2cce2700a45 | 33 | void ledsoff() |
haunsi | 1:d2cce2700a45 | 34 | { |
haunsi | 1:d2cce2700a45 | 35 | leds = 0b0000; |
haunsi | 1:d2cce2700a45 | 36 | } |
haunsi | 1:d2cce2700a45 | 37 | |
haunsi | 0:da2c2685a56c | 38 | int main() |
haunsi | 0:da2c2685a56c | 39 | { |
haunsi | 1:d2cce2700a45 | 40 | //t1.start(); |
haunsi | 1:d2cce2700a45 | 41 | |
haunsi | 1:d2cce2700a45 | 42 | tick1.attach(callback(&blink_led1), 1.0f); |
haunsi | 1:d2cce2700a45 | 43 | tick2.attach(callback(&ledsoff), 10.0f); |
haunsi | 1:d2cce2700a45 | 44 | |
haunsi | 1:d2cce2700a45 | 45 | btn_push.rise(callback(&turn_led2_on)); |
haunsi | 1:d2cce2700a45 | 46 | btn_down.rise(callback(&shiftled)); |
haunsi | 1:d2cce2700a45 | 47 | //btn.fall(callback(&toggle_led2)); |
haunsi | 1:d2cce2700a45 | 48 | |
haunsi | 0:da2c2685a56c | 49 | } |