Bitmanipulation mit Stick

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }