thunchanok phutthaphaiboon
/
Lab3
LAB3
main.cpp@0:90e426491ea8, 2017-11-02 (annotated)
- Committer:
- moove1334
- Date:
- Thu Nov 02 13:52:06 2017 +0000
- Revision:
- 0:90e426491ea8
LAB3 FRA221;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
moove1334 | 0:90e426491ea8 | 1 | #include "mbed.h" |
moove1334 | 0:90e426491ea8 | 2 | |
moove1334 | 0:90e426491ea8 | 3 | Serial pc(D1,D0); |
moove1334 | 0:90e426491ea8 | 4 | |
moove1334 | 0:90e426491ea8 | 5 | BusOut Outled(D2, D3, D4, D5, D6, D7, D8, D9); |
moove1334 | 0:90e426491ea8 | 6 | |
moove1334 | 0:90e426491ea8 | 7 | DigitalIn in1(D10); |
moove1334 | 0:90e426491ea8 | 8 | DigitalIn in2(D11); |
moove1334 | 0:90e426491ea8 | 9 | DigitalIn in3(D12); |
moove1334 | 0:90e426491ea8 | 10 | |
moove1334 | 0:90e426491ea8 | 11 | void printmenu0() |
moove1334 | 0:90e426491ea8 | 12 | { |
moove1334 | 0:90e426491ea8 | 13 | pc.printf("START A-16 PROGRAM\n"); |
moove1334 | 0:90e426491ea8 | 14 | pc.printf("[press1] Menu1\n"); |
moove1334 | 0:90e426491ea8 | 15 | pc.printf("[press2] Menu2\n"); |
moove1334 | 0:90e426491ea8 | 16 | } |
moove1334 | 0:90e426491ea8 | 17 | |
moove1334 | 0:90e426491ea8 | 18 | void printmenu1() |
moove1334 | 0:90e426491ea8 | 19 | { |
moove1334 | 0:90e426491ea8 | 20 | pc.printf("1 LED PATTERN \n"); |
moove1334 | 0:90e426491ea8 | 21 | pc.printf("[prees a] first_pattern \n"); |
moove1334 | 0:90e426491ea8 | 22 | pc.printf("[prees d] second_pattern \n"); |
moove1334 | 0:90e426491ea8 | 23 | pc.printf("[prees s] exit \n"); |
moove1334 | 0:90e426491ea8 | 24 | } |
moove1334 | 0:90e426491ea8 | 25 | |
moove1334 | 0:90e426491ea8 | 26 | void printmenu2() |
moove1334 | 0:90e426491ea8 | 27 | { |
moove1334 | 0:90e426491ea8 | 28 | pc.printf("3 INPUTS STATUS \n"); |
moove1334 | 0:90e426491ea8 | 29 | } |
moove1334 | 0:90e426491ea8 | 30 | |
moove1334 | 0:90e426491ea8 | 31 | void menu1_A() |
moove1334 | 0:90e426491ea8 | 32 | { |
moove1334 | 0:90e426491ea8 | 33 | int array1[5] = {240, 28, 6, 1,0}; |
moove1334 | 0:90e426491ea8 | 34 | for(int i=0; i<5; i++) { |
moove1334 | 0:90e426491ea8 | 35 | Outled = array1[i]; |
moove1334 | 0:90e426491ea8 | 36 | wait(0.25); |
moove1334 | 0:90e426491ea8 | 37 | } |
moove1334 | 0:90e426491ea8 | 38 | } |
moove1334 | 0:90e426491ea8 | 39 | |
moove1334 | 0:90e426491ea8 | 40 | void menu1_D() |
moove1334 | 0:90e426491ea8 | 41 | { |
moove1334 | 0:90e426491ea8 | 42 | int array1[9] = {1,192,7,240,31,252,127,255,0}; |
moove1334 | 0:90e426491ea8 | 43 | for(int i = 0; i<9; i++) { |
moove1334 | 0:90e426491ea8 | 44 | Outled = array1[i]; |
moove1334 | 0:90e426491ea8 | 45 | wait(0.5); |
moove1334 | 0:90e426491ea8 | 46 | } |
moove1334 | 0:90e426491ea8 | 47 | } |
moove1334 | 0:90e426491ea8 | 48 | |
moove1334 | 0:90e426491ea8 | 49 | |
moove1334 | 0:90e426491ea8 | 50 | void menu2() |
moove1334 | 0:90e426491ea8 | 51 | { |
moove1334 | 0:90e426491ea8 | 52 | pc.printf(" switch1 switch2 switch3\n"); |
moove1334 | 0:90e426491ea8 | 53 | pc.printf(" %d %d %d \n ",in1.read(),in2.read(),in3.read()); |
moove1334 | 0:90e426491ea8 | 54 | wait(1); |
moove1334 | 0:90e426491ea8 | 55 | } |
moove1334 | 0:90e426491ea8 | 56 | |
moove1334 | 0:90e426491ea8 | 57 | int main() |
moove1334 | 0:90e426491ea8 | 58 | { |
moove1334 | 0:90e426491ea8 | 59 | int state_menu = 0; |
moove1334 | 0:90e426491ea8 | 60 | int state_show = 1; |
moove1334 | 0:90e426491ea8 | 61 | char data; |
moove1334 | 0:90e426491ea8 | 62 | |
moove1334 | 0:90e426491ea8 | 63 | while (true) { |
moove1334 | 0:90e426491ea8 | 64 | |
moove1334 | 0:90e426491ea8 | 65 | if(pc.readable()) { |
moove1334 | 0:90e426491ea8 | 66 | data = pc.getc(); |
moove1334 | 0:90e426491ea8 | 67 | } |
moove1334 | 0:90e426491ea8 | 68 | |
moove1334 | 0:90e426491ea8 | 69 | if(state_menu == 0 && state_show ==1) { |
moove1334 | 0:90e426491ea8 | 70 | printmenu0(); |
moove1334 | 0:90e426491ea8 | 71 | state_show = 0; |
moove1334 | 0:90e426491ea8 | 72 | } |
moove1334 | 0:90e426491ea8 | 73 | |
moove1334 | 0:90e426491ea8 | 74 | if (state_menu == 0 && data == '1') { |
moove1334 | 0:90e426491ea8 | 75 | printmenu1(); |
moove1334 | 0:90e426491ea8 | 76 | state_menu = 1; |
moove1334 | 0:90e426491ea8 | 77 | state_show = 0; |
moove1334 | 0:90e426491ea8 | 78 | } else if (state_menu == 0 && data == '2') { |
moove1334 | 0:90e426491ea8 | 79 | printmenu2(); |
moove1334 | 0:90e426491ea8 | 80 | state_menu = 2; |
moove1334 | 0:90e426491ea8 | 81 | state_show = 0; |
moove1334 | 0:90e426491ea8 | 82 | } |
moove1334 | 0:90e426491ea8 | 83 | |
moove1334 | 0:90e426491ea8 | 84 | if (state_menu == 1 && data == 'a') { |
moove1334 | 0:90e426491ea8 | 85 | menu1_A(); |
moove1334 | 0:90e426491ea8 | 86 | } else if (state_menu == 1 && data == 'd') { |
moove1334 | 0:90e426491ea8 | 87 | menu1_D(); |
moove1334 | 0:90e426491ea8 | 88 | } else if (state_menu == 1 && data == 's') { |
moove1334 | 0:90e426491ea8 | 89 | Outled = 0; |
moove1334 | 0:90e426491ea8 | 90 | state_menu = 0; |
moove1334 | 0:90e426491ea8 | 91 | state_show = 1; |
moove1334 | 0:90e426491ea8 | 92 | } |
moove1334 | 0:90e426491ea8 | 93 | |
moove1334 | 0:90e426491ea8 | 94 | if (state_menu == 2 && data == '2') { |
moove1334 | 0:90e426491ea8 | 95 | menu2(); |
moove1334 | 0:90e426491ea8 | 96 | } else if (state_menu == 2 && data == 's') { |
moove1334 | 0:90e426491ea8 | 97 | state_menu = 0; |
moove1334 | 0:90e426491ea8 | 98 | state_show = 1; |
moove1334 | 0:90e426491ea8 | 99 | } |
moove1334 | 0:90e426491ea8 | 100 | |
moove1334 | 0:90e426491ea8 | 101 | |
moove1334 | 0:90e426491ea8 | 102 | } |
moove1334 | 0:90e426491ea8 | 103 | |
moove1334 | 0:90e426491ea8 | 104 | } |