michael hollegha
/
ButtonEventDemo
Demonstrates the usage of the ButtonEventM0-Class
main.cpp@10:6495a89d66ed, 2017-02-01 (annotated)
- Committer:
- hollegha2
- Date:
- Wed Feb 01 07:20:51 2017 +0000
- Revision:
- 10:6495a89d66ed
- Parent:
- 6:cc64c2ff26b0
c45
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hollegha2 | 0:35d70ff5c12e | 1 | |
hollegha2 | 0:35d70ff5c12e | 2 | #include "mbed.h" |
hollegha2 | 0:35d70ff5c12e | 3 | #include "BtnEventM0.h" |
hollegha2 | 0:35d70ff5c12e | 4 | |
hollegha2 | 10:6495a89d66ed | 5 | // V4.0 |
hollegha2 | 10:6495a89d66ed | 6 | |
hollegha2 | 0:35d70ff5c12e | 7 | // LSB MSB |
hollegha2 | 0:35d70ff5c12e | 8 | BusOut lb(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); |
hollegha2 | 0:35d70ff5c12e | 9 | |
hollegha2 | 0:35d70ff5c12e | 10 | BtnEventM0 sw4(P1_16), sw2(P0_15), sw1(P0_10), sw3(P0_23); |
hollegha2 | 0:35d70ff5c12e | 11 | |
hollegha2 | 0:35d70ff5c12e | 12 | Timer t1; |
hollegha2 | 0:35d70ff5c12e | 13 | void OneLeftStep(); |
hollegha2 | 0:35d70ff5c12e | 14 | void OneRightStep(); |
hollegha2 | 0:35d70ff5c12e | 15 | void ExecuteAutoButtons(); |
hollegha2 | 0:35d70ff5c12e | 16 | |
hollegha2 | 0:35d70ff5c12e | 17 | int main(void) |
hollegha2 | 0:35d70ff5c12e | 18 | { |
hollegha2 | 0:35d70ff5c12e | 19 | lb = 1; |
hollegha2 | 0:35d70ff5c12e | 20 | sw4.Init(); |
hollegha2 | 0:35d70ff5c12e | 21 | sw2.Init(); |
hollegha2 | 0:35d70ff5c12e | 22 | sw1.Init(); |
hollegha2 | 0:35d70ff5c12e | 23 | sw3.Init(); |
hollegha2 | 0:35d70ff5c12e | 24 | t1.start(); |
hollegha2 | 0:35d70ff5c12e | 25 | |
hollegha2 | 0:35d70ff5c12e | 26 | while(1) { |
hollegha2 | 0:35d70ff5c12e | 27 | if( sw4.CheckFlag() ) |
hollegha2 | 0:35d70ff5c12e | 28 | OneRightStep(); |
hollegha2 | 0:35d70ff5c12e | 29 | if( sw3.CheckFlag() ) |
hollegha2 | 0:35d70ff5c12e | 30 | OneLeftStep(); |
hollegha2 | 0:35d70ff5c12e | 31 | if( sw1.CheckFlag() ) |
hollegha2 | 0:35d70ff5c12e | 32 | OneRightStep(); |
hollegha2 | 0:35d70ff5c12e | 33 | if( sw2.CheckFlag() ) |
hollegha2 | 0:35d70ff5c12e | 34 | OneLeftStep(); |
hollegha2 | 0:35d70ff5c12e | 35 | ExecuteAutoButtons(); |
hollegha2 | 0:35d70ff5c12e | 36 | } |
hollegha2 | 0:35d70ff5c12e | 37 | } |
hollegha2 | 0:35d70ff5c12e | 38 | |
hollegha2 | 0:35d70ff5c12e | 39 | void ExecuteAutoButtons() |
hollegha2 | 0:35d70ff5c12e | 40 | { |
hollegha2 | 0:35d70ff5c12e | 41 | /* sw1.CheckButton(); |
hollegha2 | 0:35d70ff5c12e | 42 | sw2.CheckButton(); |
hollegha2 | 0:35d70ff5c12e | 43 | sw3.CheckButton(); |
hollegha2 | 0:35d70ff5c12e | 44 | sw4.CheckButton(); */ |
hollegha2 | 0:35d70ff5c12e | 45 | } |
hollegha2 | 0:35d70ff5c12e | 46 | |
hollegha2 | 0:35d70ff5c12e | 47 | void OneLeftStep() |
hollegha2 | 0:35d70ff5c12e | 48 | { |
hollegha2 | 0:35d70ff5c12e | 49 | if( lb==2048 ) { |
hollegha2 | 0:35d70ff5c12e | 50 | lb = 1; |
hollegha2 | 0:35d70ff5c12e | 51 | return; |
hollegha2 | 0:35d70ff5c12e | 52 | } |
hollegha2 | 0:35d70ff5c12e | 53 | lb = lb << 1; |
hollegha2 | 0:35d70ff5c12e | 54 | } |
hollegha2 | 0:35d70ff5c12e | 55 | |
hollegha2 | 0:35d70ff5c12e | 56 | void OneRightStep() |
hollegha2 | 0:35d70ff5c12e | 57 | { |
hollegha2 | 0:35d70ff5c12e | 58 | if( lb==1 ) { |
hollegha2 | 0:35d70ff5c12e | 59 | lb = 2048; |
hollegha2 | 0:35d70ff5c12e | 60 | return; |
hollegha2 | 0:35d70ff5c12e | 61 | } |
hollegha2 | 0:35d70ff5c12e | 62 | lb = lb >> 1; |
hollegha2 | 0:35d70ff5c12e | 63 | } |
hollegha2 | 0:35d70ff5c12e | 64 | |
hollegha2 | 0:35d70ff5c12e | 65 | |
hollegha2 | 2:e4e11d95b4cd | 66 | |
hollegha2 | 6:cc64c2ff26b0 | 67 |