Dominic Harg
/
02_TINF_Bitmanipulation
Bitmanipulation mit Stick
main.cpp@0:da2c2685a56c, 2019-12-02 (annotated)
- Committer:
- haunsi
- Date:
- Mon Dec 02 18:28:53 2019 +0000
- Revision:
- 0:da2c2685a56c
- Child:
- 1:d2cce2700a45
Bitmanipulation mit Stick
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
haunsi | 0:da2c2685a56c | 1 | #include "mbed.h" |
haunsi | 0:da2c2685a56c | 2 | |
haunsi | 0:da2c2685a56c | 3 | BusOut leds(LED1, LED2, LED3, LED4); |
haunsi | 0:da2c2685a56c | 4 | DigitalIn btndown(p12); |
haunsi | 0:da2c2685a56c | 5 | DigitalIn btnleft(p13); |
haunsi | 0:da2c2685a56c | 6 | DigitalIn btnpush(p14); |
haunsi | 0:da2c2685a56c | 7 | DigitalIn btnup(p15); |
haunsi | 0:da2c2685a56c | 8 | DigitalIn btnright(p16); |
haunsi | 0:da2c2685a56c | 9 | |
haunsi | 0:da2c2685a56c | 10 | void ledsreset(uint8_t mask); |
haunsi | 0:da2c2685a56c | 11 | void shiftlinks(); |
haunsi | 0:da2c2685a56c | 12 | |
haunsi | 0:da2c2685a56c | 13 | int main() |
haunsi | 0:da2c2685a56c | 14 | { |
haunsi | 0:da2c2685a56c | 15 | uint8_t mask = 0b00001111; |
haunsi | 0:da2c2685a56c | 16 | uint8_t value = 0b01010101; |
haunsi | 0:da2c2685a56c | 17 | while(1) |
haunsi | 0:da2c2685a56c | 18 | { |
haunsi | 0:da2c2685a56c | 19 | //leds = mask & value; |
haunsi | 0:da2c2685a56c | 20 | ledsreset(mask); |
haunsi | 0:da2c2685a56c | 21 | |
haunsi | 0:da2c2685a56c | 22 | if(btnleft) |
haunsi | 0:da2c2685a56c | 23 | { |
haunsi | 0:da2c2685a56c | 24 | shiftlinks(); |
haunsi | 0:da2c2685a56c | 25 | } |
haunsi | 0:da2c2685a56c | 26 | } |
haunsi | 0:da2c2685a56c | 27 | } |
haunsi | 0:da2c2685a56c | 28 | void ledsreset(uint8_t mask) |
haunsi | 0:da2c2685a56c | 29 | { |
haunsi | 0:da2c2685a56c | 30 | if(btnpush == 1) |
haunsi | 0:da2c2685a56c | 31 | { |
haunsi | 0:da2c2685a56c | 32 | leds = mask; |
haunsi | 0:da2c2685a56c | 33 | } |
haunsi | 0:da2c2685a56c | 34 | } |
haunsi | 0:da2c2685a56c | 35 | void shiftlinks() |
haunsi | 0:da2c2685a56c | 36 | { |
haunsi | 0:da2c2685a56c | 37 | leds = leds << 1; |
haunsi | 0:da2c2685a56c | 38 | wait_ms(500); |
haunsi | 0:da2c2685a56c | 39 | } |