l
Dependencies: mbed
Fork of Nucleo_serial_sf by
main.cpp@0:09e78c46c376, 2015-10-20 (annotated)
- Committer:
- Peeraya
- Date:
- Tue Oct 20 06:30:21 2015 +0000
- Revision:
- 0:09e78c46c376
- Child:
- 1:a3a6e8f878da
led
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Peeraya | 0:09e78c46c376 | 1 | #include "mbed.h" |
Peeraya | 0:09e78c46c376 | 2 | |
Peeraya | 0:09e78c46c376 | 3 | //------------------------------------ |
Peeraya | 0:09e78c46c376 | 4 | // Hyperterminal configuration |
Peeraya | 0:09e78c46c376 | 5 | // 9600 bauds, 8-bit data, no parity |
Peeraya | 0:09e78c46c376 | 6 | //------------------------------------ |
Peeraya | 0:09e78c46c376 | 7 | |
Peeraya | 0:09e78c46c376 | 8 | Serial pc(PA_9, PA_10); |
Peeraya | 0:09e78c46c376 | 9 | |
Peeraya | 0:09e78c46c376 | 10 | DigitalOut myled0(D15); |
Peeraya | 0:09e78c46c376 | 11 | DigitalOut myled1(D14); |
Peeraya | 0:09e78c46c376 | 12 | DigitalOut myled2(D13); |
Peeraya | 0:09e78c46c376 | 13 | DigitalOut myled3(D12); |
Peeraya | 0:09e78c46c376 | 14 | DigitalOut myled4(D11); |
Peeraya | 0:09e78c46c376 | 15 | DigitalOut myled5(D10); |
Peeraya | 0:09e78c46c376 | 16 | DigitalOut myled6(D9); |
Peeraya | 0:09e78c46c376 | 17 | DigitalOut myled7(D8); |
Peeraya | 0:09e78c46c376 | 18 | |
Peeraya | 0:09e78c46c376 | 19 | DigitalIn inbutton(D3); |
Peeraya | 0:09e78c46c376 | 20 | |
Peeraya | 0:09e78c46c376 | 21 | |
Peeraya | 0:09e78c46c376 | 22 | int main() |
Peeraya | 0:09e78c46c376 | 23 | { |
Peeraya | 0:09e78c46c376 | 24 | |
Peeraya | 0:09e78c46c376 | 25 | uint8_t state_menu=0; |
Peeraya | 0:09e78c46c376 | 26 | uint8_t state_show=0; |
Peeraya | 0:09e78c46c376 | 27 | uint8_t state_exit =0; |
Peeraya | 0:09e78c46c376 | 28 | uint8_t data; |
Peeraya | 0:09e78c46c376 | 29 | |
Peeraya | 0:09e78c46c376 | 30 | myled0 = 0;myled1 = 0;myled2 = 0;myled3 = 0;myled4 = 0;myled5 = 0;myled6 = 0;myled7 = 0; |
Peeraya | 0:09e78c46c376 | 31 | pc.printf("Select Mode\n"); |
Peeraya | 0:09e78c46c376 | 32 | while(1) { |
Peeraya | 0:09e78c46c376 | 33 | if(state_show == 0) { |
Peeraya | 0:09e78c46c376 | 34 | pc.printf("Menu\n"); |
Peeraya | 0:09e78c46c376 | 35 | pc.printf("1.Choose LED pattern\n"); |
Peeraya | 0:09e78c46c376 | 36 | pc.printf("2.Print status\n"); |
Peeraya | 0:09e78c46c376 | 37 | state_show =1; |
Peeraya | 0:09e78c46c376 | 38 | } |
Peeraya | 0:09e78c46c376 | 39 | if(pc.readable()) { |
Peeraya | 0:09e78c46c376 | 40 | data = pc.getc(); |
Peeraya | 0:09e78c46c376 | 41 | pc.printf("\n"); |
Peeraya | 0:09e78c46c376 | 42 | state_show =0; |
Peeraya | 0:09e78c46c376 | 43 | state_exit =0; |
Peeraya | 0:09e78c46c376 | 44 | |
Peeraya | 0:09e78c46c376 | 45 | switch(data) { |
Peeraya | 0:09e78c46c376 | 46 | case '1': |
Peeraya | 0:09e78c46c376 | 47 | do { |
Peeraya | 0:09e78c46c376 | 48 | if(state_menu == 0) { |
Peeraya | 0:09e78c46c376 | 49 | pc.printf("Choose LED pattern\n"); |
Peeraya | 0:09e78c46c376 | 50 | pc.printf("a.Pattern1\n"); |
Peeraya | 0:09e78c46c376 | 51 | pc.printf("d.Pattern2\n"); |
Peeraya | 0:09e78c46c376 | 52 | pc.printf("s.Exit\n"); |
Peeraya | 0:09e78c46c376 | 53 | state_menu = 1; |
Peeraya | 0:09e78c46c376 | 54 | } |
Peeraya | 0:09e78c46c376 | 55 | if(pc.readable()) { |
Peeraya | 0:09e78c46c376 | 56 | data = pc.getc(); |
Peeraya | 0:09e78c46c376 | 57 | pc.printf("\n"); |
Peeraya | 0:09e78c46c376 | 58 | state_menu=0; |
Peeraya | 0:09e78c46c376 | 59 | |
Peeraya | 0:09e78c46c376 | 60 | switch(data) { |
Peeraya | 0:09e78c46c376 | 61 | |
Peeraya | 0:09e78c46c376 | 62 | case 'a': |
Peeraya | 0:09e78c46c376 | 63 | case 'A': |
Peeraya | 0:09e78c46c376 | 64 | myled0=1; |
Peeraya | 0:09e78c46c376 | 65 | wait(1); |
Peeraya | 0:09e78c46c376 | 66 | myled0=0; |
Peeraya | 0:09e78c46c376 | 67 | |
Peeraya | 0:09e78c46c376 | 68 | myled1=1; |
Peeraya | 0:09e78c46c376 | 69 | wait(1); |
Peeraya | 0:09e78c46c376 | 70 | myled1=0; |
Peeraya | 0:09e78c46c376 | 71 | |
Peeraya | 0:09e78c46c376 | 72 | myled2=1; |
Peeraya | 0:09e78c46c376 | 73 | wait(1); |
Peeraya | 0:09e78c46c376 | 74 | myled2=0; |
Peeraya | 0:09e78c46c376 | 75 | |
Peeraya | 0:09e78c46c376 | 76 | myled3=1; |
Peeraya | 0:09e78c46c376 | 77 | wait(1); |
Peeraya | 0:09e78c46c376 | 78 | myled3=0; |
Peeraya | 0:09e78c46c376 | 79 | |
Peeraya | 0:09e78c46c376 | 80 | myled4=1; |
Peeraya | 0:09e78c46c376 | 81 | wait(1); |
Peeraya | 0:09e78c46c376 | 82 | myled4=0; |
Peeraya | 0:09e78c46c376 | 83 | |
Peeraya | 0:09e78c46c376 | 84 | myled5=1; |
Peeraya | 0:09e78c46c376 | 85 | wait(1); |
Peeraya | 0:09e78c46c376 | 86 | myled5=0; |
Peeraya | 0:09e78c46c376 | 87 | |
Peeraya | 0:09e78c46c376 | 88 | myled6=1; |
Peeraya | 0:09e78c46c376 | 89 | wait(1); |
Peeraya | 0:09e78c46c376 | 90 | myled6=0; |
Peeraya | 0:09e78c46c376 | 91 | |
Peeraya | 0:09e78c46c376 | 92 | myled7=1; |
Peeraya | 0:09e78c46c376 | 93 | wait(1); |
Peeraya | 0:09e78c46c376 | 94 | myled7=0; |
Peeraya | 0:09e78c46c376 | 95 | |
Peeraya | 0:09e78c46c376 | 96 | break; |
Peeraya | 0:09e78c46c376 | 97 | |
Peeraya | 0:09e78c46c376 | 98 | case 'd': |
Peeraya | 0:09e78c46c376 | 99 | case 'D': |
Peeraya | 0:09e78c46c376 | 100 | myled0 =1; |
Peeraya | 0:09e78c46c376 | 101 | myled1 =1; |
Peeraya | 0:09e78c46c376 | 102 | myled4 =1; |
Peeraya | 0:09e78c46c376 | 103 | myled5 =1; |
Peeraya | 0:09e78c46c376 | 104 | wait(1); |
Peeraya | 0:09e78c46c376 | 105 | myled0 =0; |
Peeraya | 0:09e78c46c376 | 106 | myled1 =0; |
Peeraya | 0:09e78c46c376 | 107 | myled4 =0; |
Peeraya | 0:09e78c46c376 | 108 | myled5 =0; |
Peeraya | 0:09e78c46c376 | 109 | |
Peeraya | 0:09e78c46c376 | 110 | myled2 =1; |
Peeraya | 0:09e78c46c376 | 111 | myled3 =1; |
Peeraya | 0:09e78c46c376 | 112 | myled6 =1; |
Peeraya | 0:09e78c46c376 | 113 | myled7 =1; |
Peeraya | 0:09e78c46c376 | 114 | wait(1); |
Peeraya | 0:09e78c46c376 | 115 | myled2 =0; |
Peeraya | 0:09e78c46c376 | 116 | myled3 =0; |
Peeraya | 0:09e78c46c376 | 117 | myled6 =0; |
Peeraya | 0:09e78c46c376 | 118 | myled7 =0; |
Peeraya | 0:09e78c46c376 | 119 | |
Peeraya | 0:09e78c46c376 | 120 | break; |
Peeraya | 0:09e78c46c376 | 121 | |
Peeraya | 0:09e78c46c376 | 122 | case 's': |
Peeraya | 0:09e78c46c376 | 123 | state_exit =1; |
Peeraya | 0:09e78c46c376 | 124 | |
Peeraya | 0:09e78c46c376 | 125 | break; |
Peeraya | 0:09e78c46c376 | 126 | |
Peeraya | 0:09e78c46c376 | 127 | default: |
Peeraya | 0:09e78c46c376 | 128 | pc.printf("plz select a or d\n"); |
Peeraya | 0:09e78c46c376 | 129 | pc.printf("\n\n"); |
Peeraya | 0:09e78c46c376 | 130 | break; |
Peeraya | 0:09e78c46c376 | 131 | |
Peeraya | 0:09e78c46c376 | 132 | } |
Peeraya | 0:09e78c46c376 | 133 | } |
Peeraya | 0:09e78c46c376 | 134 | |
Peeraya | 0:09e78c46c376 | 135 | } while(state_exit ==0); |
Peeraya | 0:09e78c46c376 | 136 | pc.printf("\n"); |
Peeraya | 0:09e78c46c376 | 137 | break; |
Peeraya | 0:09e78c46c376 | 138 | |
Peeraya | 0:09e78c46c376 | 139 | case '2': |
Peeraya | 0:09e78c46c376 | 140 | |
Peeraya | 0:09e78c46c376 | 141 | do { |
Peeraya | 0:09e78c46c376 | 142 | if(state_menu == 0) |
Peeraya | 0:09e78c46c376 | 143 | { |
Peeraya | 0:09e78c46c376 | 144 | pc.printf("LED status\n"); |
Peeraya | 0:09e78c46c376 | 145 | state_menu = 1; |
Peeraya | 0:09e78c46c376 | 146 | } |
Peeraya | 0:09e78c46c376 | 147 | if(inbutton == 0) |
Peeraya | 0:09e78c46c376 | 148 | { |
Peeraya | 0:09e78c46c376 | 149 | pc.printf("OFF\n"); |
Peeraya | 0:09e78c46c376 | 150 | state_menu=0; |
Peeraya | 0:09e78c46c376 | 151 | } |
Peeraya | 0:09e78c46c376 | 152 | if(inbutton == 1) |
Peeraya | 0:09e78c46c376 | 153 | { |
Peeraya | 0:09e78c46c376 | 154 | pc.printf("ON\n"); |
Peeraya | 0:09e78c46c376 | 155 | state_menu=0; |
Peeraya | 0:09e78c46c376 | 156 | } |
Peeraya | 0:09e78c46c376 | 157 | |
Peeraya | 0:09e78c46c376 | 158 | } while(state_exit ==0); |
Peeraya | 0:09e78c46c376 | 159 | pc.printf("\n\n"); |
Peeraya | 0:09e78c46c376 | 160 | break; |
Peeraya | 0:09e78c46c376 | 161 | |
Peeraya | 0:09e78c46c376 | 162 | default: |
Peeraya | 0:09e78c46c376 | 163 | pc.printf("plz select 1 or 2 only\n"); |
Peeraya | 0:09e78c46c376 | 164 | pc.printf("\n\n"); |
Peeraya | 0:09e78c46c376 | 165 | break; |
Peeraya | 0:09e78c46c376 | 166 | } |
Peeraya | 0:09e78c46c376 | 167 | } |
Peeraya | 0:09e78c46c376 | 168 | |
Peeraya | 0:09e78c46c376 | 169 | } |
Peeraya | 0:09e78c46c376 | 170 | } |