FRA221:A / Mbed 2 deprecated LAB03_1

Dependencies:   mbed

Committer:
mustwillza
Date:
Tue Oct 20 08:24:29 2015 +0000
Revision:
0:13570d037394
AA

Who changed what in which revision?

UserRevisionLine numberNew 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 }