Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@0:13570d037394, 2015-10-20 (annotated)
- Committer:
- mustwillza
- Date:
- Tue Oct 20 08:24:29 2015 +0000
- Revision:
- 0:13570d037394
AA
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| mustwillza | 0:13570d037394 | 1 | #include "mbed.h" |
| mustwillza | 0:13570d037394 | 2 | |
| mustwillza | 0:13570d037394 | 3 | //------------------------------------ |
| mustwillza | 0:13570d037394 | 4 | // Hyperterminal configuration |
| mustwillza | 0:13570d037394 | 5 | // 9600 bauds, 8-bit data, no parity |
| mustwillza | 0:13570d037394 | 6 | //------------------------------------ |
| mustwillza | 0:13570d037394 | 7 | |
| mustwillza | 0:13570d037394 | 8 | Serial pc(SERIAL_TX, SERIAL_RX); |
| mustwillza | 0:13570d037394 | 9 | |
| mustwillza | 0:13570d037394 | 10 | DigitalOut Out1(D13); |
| mustwillza | 0:13570d037394 | 11 | DigitalOut Out2(D12); |
| mustwillza | 0:13570d037394 | 12 | DigitalOut Out3(D11); |
| mustwillza | 0:13570d037394 | 13 | DigitalOut Out4(D10); |
| mustwillza | 0:13570d037394 | 14 | DigitalOut Out5(D9); |
| mustwillza | 0:13570d037394 | 15 | DigitalOut Out6(D8); |
| mustwillza | 0:13570d037394 | 16 | DigitalOut Out7(D7); |
| mustwillza | 0:13570d037394 | 17 | DigitalOut Out8(D6); |
| mustwillza | 0:13570d037394 | 18 | |
| mustwillza | 0:13570d037394 | 19 | DigitalIn In(D3); |
| mustwillza | 0:13570d037394 | 20 | int min = 10; |
| mustwillza | 0:13570d037394 | 21 | |
| mustwillza | 0:13570d037394 | 22 | void blinking(int min) |
| mustwillza | 0:13570d037394 | 23 | { |
| mustwillza | 0:13570d037394 | 24 | Out1 = 1; |
| mustwillza | 0:13570d037394 | 25 | Out2 = 1; |
| mustwillza | 0:13570d037394 | 26 | Out3 = 1; |
| mustwillza | 0:13570d037394 | 27 | Out4 = 1; |
| mustwillza | 0:13570d037394 | 28 | Out5 = 1; |
| mustwillza | 0:13570d037394 | 29 | Out6 = 1; |
| mustwillza | 0:13570d037394 | 30 | Out7 = 1; |
| mustwillza | 0:13570d037394 | 31 | Out8 = 1; |
| mustwillza | 0:13570d037394 | 32 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 33 | Out1 = 0; |
| mustwillza | 0:13570d037394 | 34 | Out2 = 0; |
| mustwillza | 0:13570d037394 | 35 | Out3 = 0; |
| mustwillza | 0:13570d037394 | 36 | Out4 = 0; |
| mustwillza | 0:13570d037394 | 37 | Out5 = 0; |
| mustwillza | 0:13570d037394 | 38 | Out6 = 0; |
| mustwillza | 0:13570d037394 | 39 | Out7 = 0; |
| mustwillza | 0:13570d037394 | 40 | Out8 = 0; |
| mustwillza | 0:13570d037394 | 41 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 42 | } |
| mustwillza | 0:13570d037394 | 43 | void follow(int min) |
| mustwillza | 0:13570d037394 | 44 | { |
| mustwillza | 0:13570d037394 | 45 | Out8 = 1; |
| mustwillza | 0:13570d037394 | 46 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 47 | Out8 = 0; |
| mustwillza | 0:13570d037394 | 48 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 49 | Out7 = 1; |
| mustwillza | 0:13570d037394 | 50 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 51 | Out7 = 0; |
| mustwillza | 0:13570d037394 | 52 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 53 | Out6 = 1; |
| mustwillza | 0:13570d037394 | 54 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 55 | Out6 = 0; |
| mustwillza | 0:13570d037394 | 56 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 57 | Out5 = 1; |
| mustwillza | 0:13570d037394 | 58 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 59 | Out5 = 0; |
| mustwillza | 0:13570d037394 | 60 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 61 | Out4 = 1; |
| mustwillza | 0:13570d037394 | 62 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 63 | Out4 = 0; |
| mustwillza | 0:13570d037394 | 64 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 65 | Out3 = 1; |
| mustwillza | 0:13570d037394 | 66 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 67 | Out3 = 0; |
| mustwillza | 0:13570d037394 | 68 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 69 | Out2 = 1; |
| mustwillza | 0:13570d037394 | 70 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 71 | Out2 = 0; |
| mustwillza | 0:13570d037394 | 72 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 73 | Out1 = 1; |
| mustwillza | 0:13570d037394 | 74 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 75 | Out1 = 0; |
| mustwillza | 0:13570d037394 | 76 | wait_ms(min); |
| mustwillza | 0:13570d037394 | 77 | } |
| mustwillza | 0:13570d037394 | 78 | void led_off() |
| mustwillza | 0:13570d037394 | 79 | { |
| mustwillza | 0:13570d037394 | 80 | Out1 = 0; |
| mustwillza | 0:13570d037394 | 81 | Out2 = 0; |
| mustwillza | 0:13570d037394 | 82 | Out3 = 0; |
| mustwillza | 0:13570d037394 | 83 | Out4 = 0; |
| mustwillza | 0:13570d037394 | 84 | Out5 = 0; |
| mustwillza | 0:13570d037394 | 85 | Out6 = 0; |
| mustwillza | 0:13570d037394 | 86 | Out7 = 0; |
| mustwillza | 0:13570d037394 | 87 | Out8 = 0; |
| mustwillza | 0:13570d037394 | 88 | } |
| mustwillza | 0:13570d037394 | 89 | |
| mustwillza | 0:13570d037394 | 90 | |
| mustwillza | 0:13570d037394 | 91 | int main() |
| mustwillza | 0:13570d037394 | 92 | { |
| mustwillza | 0:13570d037394 | 93 | |
| mustwillza | 0:13570d037394 | 94 | uint8_t state_menu=0; |
| mustwillza | 0:13570d037394 | 95 | uint8_t state_show=0; |
| mustwillza | 0:13570d037394 | 96 | uint8_t state_exit =0; |
| mustwillza | 0:13570d037394 | 97 | uint8_t data; |
| mustwillza | 0:13570d037394 | 98 | uint8_t state_led = 0; |
| mustwillza | 0:13570d037394 | 99 | |
| mustwillza | 0:13570d037394 | 100 | while(1) { |
| mustwillza | 0:13570d037394 | 101 | if(state_show == 0) { |
| mustwillza | 0:13570d037394 | 102 | pc.printf("Menu\n"); |
| mustwillza | 0:13570d037394 | 103 | pc.printf("1.LED Mode\n"); |
| mustwillza | 0:13570d037394 | 104 | pc.printf("2.Digital Input Check\n"); |
| mustwillza | 0:13570d037394 | 105 | state_show =1; |
| mustwillza | 0:13570d037394 | 106 | } |
| mustwillza | 0:13570d037394 | 107 | if(pc.readable()) { |
| mustwillza | 0:13570d037394 | 108 | data = pc.getc(); |
| mustwillza | 0:13570d037394 | 109 | pc.printf("\n"); |
| mustwillza | 0:13570d037394 | 110 | state_show =0; |
| mustwillza | 0:13570d037394 | 111 | state_exit =0; |
| mustwillza | 0:13570d037394 | 112 | |
| mustwillza | 0:13570d037394 | 113 | switch(data) { |
| mustwillza | 0:13570d037394 | 114 | case '1': |
| mustwillza | 0:13570d037394 | 115 | do { |
| mustwillza | 0:13570d037394 | 116 | if(state_menu == 0) { |
| mustwillza | 0:13570d037394 | 117 | pc.printf("LED Function\n"); |
| mustwillza | 0:13570d037394 | 118 | pc.printf("a.Blinking\n"); |
| mustwillza | 0:13570d037394 | 119 | pc.printf("d.Follow to right\n"); |
| mustwillza | 0:13570d037394 | 120 | pc.printf("s.Stop\n"); |
| mustwillza | 0:13570d037394 | 121 | state_menu = 1; |
| mustwillza | 0:13570d037394 | 122 | } |
| mustwillza | 0:13570d037394 | 123 | if(pc.readable()) { |
| mustwillza | 0:13570d037394 | 124 | if(state_menu == 0) { |
| mustwillza | 0:13570d037394 | 125 | pc.printf("LED Function\n"); |
| mustwillza | 0:13570d037394 | 126 | pc.printf("a.Blinking\n"); |
| mustwillza | 0:13570d037394 | 127 | pc.printf("d.Follow to right\n"); |
| mustwillza | 0:13570d037394 | 128 | pc.printf("s.Stop\n"); |
| mustwillza | 0:13570d037394 | 129 | |
| mustwillza | 0:13570d037394 | 130 | |
| mustwillza | 0:13570d037394 | 131 | state_menu = 1; |
| mustwillza | 0:13570d037394 | 132 | } |
| mustwillza | 0:13570d037394 | 133 | data = pc.getc(); |
| mustwillza | 0:13570d037394 | 134 | |
| mustwillza | 0:13570d037394 | 135 | state_menu=0; |
| mustwillza | 0:13570d037394 | 136 | do { |
| mustwillza | 0:13570d037394 | 137 | if(pc.readable()) { |
| mustwillza | 0:13570d037394 | 138 | data =pc.getc(); |
| mustwillza | 0:13570d037394 | 139 | } |
| mustwillza | 0:13570d037394 | 140 | |
| mustwillza | 0:13570d037394 | 141 | switch(data) { |
| mustwillza | 0:13570d037394 | 142 | |
| mustwillza | 0:13570d037394 | 143 | case 'a': |
| mustwillza | 0:13570d037394 | 144 | pc.printf("Blinking!\n"); |
| mustwillza | 0:13570d037394 | 145 | blinking(min*20); |
| mustwillza | 0:13570d037394 | 146 | state_led = 1; |
| mustwillza | 0:13570d037394 | 147 | break; |
| mustwillza | 0:13570d037394 | 148 | |
| mustwillza | 0:13570d037394 | 149 | case 'd': |
| mustwillza | 0:13570d037394 | 150 | pc.printf("Follow Light! \n"); |
| mustwillza | 0:13570d037394 | 151 | follow(min); |
| mustwillza | 0:13570d037394 | 152 | state_led = 1; |
| mustwillza | 0:13570d037394 | 153 | break; |
| mustwillza | 0:13570d037394 | 154 | |
| mustwillza | 0:13570d037394 | 155 | case 's': |
| mustwillza | 0:13570d037394 | 156 | led_off(); |
| mustwillza | 0:13570d037394 | 157 | state_led = 0; |
| mustwillza | 0:13570d037394 | 158 | state_exit = 1; |
| mustwillza | 0:13570d037394 | 159 | break; |
| mustwillza | 0:13570d037394 | 160 | |
| mustwillza | 0:13570d037394 | 161 | default: |
| mustwillza | 0:13570d037394 | 162 | pc.printf("please select a or d\n"); |
| mustwillza | 0:13570d037394 | 163 | pc.printf("\n"); |
| mustwillza | 0:13570d037394 | 164 | break; |
| mustwillza | 0:13570d037394 | 165 | } |
| mustwillza | 0:13570d037394 | 166 | } while(state_led != 0); |
| mustwillza | 0:13570d037394 | 167 | |
| mustwillza | 0:13570d037394 | 168 | } |
| mustwillza | 0:13570d037394 | 169 | |
| mustwillza | 0:13570d037394 | 170 | |
| mustwillza | 0:13570d037394 | 171 | } while(state_exit ==0); |
| mustwillza | 0:13570d037394 | 172 | pc.printf("\n\n"); |
| mustwillza | 0:13570d037394 | 173 | break; |
| mustwillza | 0:13570d037394 | 174 | |
| mustwillza | 0:13570d037394 | 175 | case '2': |
| mustwillza | 0:13570d037394 | 176 | if(In == 0){ |
| mustwillza | 0:13570d037394 | 177 | pc.printf("Switch is off\n"); |
| mustwillza | 0:13570d037394 | 178 | }else |
| mustwillza | 0:13570d037394 | 179 | pc.printf("Switch is on\n"); |
| mustwillza | 0:13570d037394 | 180 | } |
| mustwillza | 0:13570d037394 | 181 | } |
| mustwillza | 0:13570d037394 | 182 | } |
| mustwillza | 0:13570d037394 | 183 | } |