Ivan Scherbakov
/
last_2_1_0_interchange_208_byte
main.cpp@6:a24da8bee018, 2016-02-11 (annotated)
- Committer:
- vanenzo
- Date:
- Thu Feb 11 03:48:55 2016 +0000
- Revision:
- 6:a24da8bee018
- Parent:
- 5:dcaed6b6b3cb
- Child:
- 7:299b41477dfb
???????????, ???????? - ??? ????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vanenzo | 0:957268dd05c4 | 1 | #include "mbed.h" |
vanenzo | 0:957268dd05c4 | 2 | #include "FastPWM.h" |
vanenzo | 0:957268dd05c4 | 3 | #define ddsstart SYNC2 = 1;wait_ms(1);SYNC2 = 0;wait_ms(1) |
vanenzo | 0:957268dd05c4 | 4 | #define ddsstop SYNC2 = 1;wait_ms(1) |
vanenzo | 0:957268dd05c4 | 5 | #define ddsreset DDS.write(0x21C0) |
vanenzo | 0:957268dd05c4 | 6 | #define sinsoft DDS.write(0x2000) |
vanenzo | 0:957268dd05c4 | 7 | #define trisoft DDS.write(0x2002) |
vanenzo | 0:957268dd05c4 | 8 | #define tripin DDS.write(0x2202) |
vanenzo | 0:957268dd05c4 | 9 | #define ddsoff DDS.write(0x2048) |
vanenzo | 0:957268dd05c4 | 10 | #define dacstart SYNC1 = 1;wait_ms(1);SYNC1 = 0;wait_ms(1) |
vanenzo | 0:957268dd05c4 | 11 | #define dacstop SYNC1 = 1;wait_ms(1) |
vanenzo | 0:957268dd05c4 | 12 | |
vanenzo | 5:dcaed6b6b3cb | 13 | //основные пины |
vanenzo | 0:957268dd05c4 | 14 | Serial serial(USBTX,USBRX); |
vanenzo | 0:957268dd05c4 | 15 | FastPWM mclk(PA_15); |
vanenzo | 0:957268dd05c4 | 16 | FastPWM sq(PB_7); |
vanenzo | 2:b489f23d9d2c | 17 | SPI DDS(PC_12, NC, PC_10); |
vanenzo | 0:957268dd05c4 | 18 | SPI DAC(PC_12, NC, PC_10); |
vanenzo | 0:957268dd05c4 | 19 | DigitalOut SYNC1(PC_11); |
vanenzo | 0:957268dd05c4 | 20 | DigitalOut SYNC2(PD_2); |
vanenzo | 0:957268dd05c4 | 21 | |
vanenzo | 5:dcaed6b6b3cb | 22 | // мультиплекс, ЦАП, кнопко |
vanenzo | 5:dcaed6b6b3cb | 23 | |
vanenzo | 5:dcaed6b6b3cb | 24 | AnalogIn analog_value(PC_4); |
vanenzo | 5:dcaed6b6b3cb | 25 | DigitalIn button(PA_13); // проверка нажатой кнопки пауза |
vanenzo | 5:dcaed6b6b3cb | 26 | |
vanenzo | 5:dcaed6b6b3cb | 27 | //пины управления мультиплексорами генератора |
vanenzo | 5:dcaed6b6b3cb | 28 | DigitalOut outA0(PC_5); |
vanenzo | 5:dcaed6b6b3cb | 29 | DigitalOut outA1(PC_6); |
vanenzo | 5:dcaed6b6b3cb | 30 | DigitalOut outA2(PC_8); |
vanenzo | 5:dcaed6b6b3cb | 31 | DigitalOut outA3(PC_9); |
vanenzo | 5:dcaed6b6b3cb | 32 | |
vanenzo | 5:dcaed6b6b3cb | 33 | //пины управления мультиплексорами измерительной части |
vanenzo | 5:dcaed6b6b3cb | 34 | DigitalOut inA0(PA_5); |
vanenzo | 5:dcaed6b6b3cb | 35 | DigitalOut inA1(PA_6); |
vanenzo | 5:dcaed6b6b3cb | 36 | DigitalOut inA2(PA_7); |
vanenzo | 5:dcaed6b6b3cb | 37 | DigitalOut inA3(PB_6); |
vanenzo | 5:dcaed6b6b3cb | 38 | DigitalOut mux[10] = {(PC_7), (PA_9), (PA_8), (PB_10), (PB_4),(PB_5), (PB_3),(PA_10),(PB_14),(PB_13)}; //пины поясов |
vanenzo | 5:dcaed6b6b3cb | 39 | |
vanenzo | 5:dcaed6b6b3cb | 40 | int mg;//переменная поясов |
vanenzo | 5:dcaed6b6b3cb | 41 | int j;//мультиплексор генератора |
vanenzo | 5:dcaed6b6b3cb | 42 | int k;//мультиплексор измерительной части |
vanenzo | 5:dcaed6b6b3cb | 43 | |
vanenzo | 5:dcaed6b6b3cb | 44 | int muxout(int j); |
vanenzo | 5:dcaed6b6b3cb | 45 | int muxin(int k); |
vanenzo | 5:dcaed6b6b3cb | 46 | int mux_init(); |
vanenzo | 5:dcaed6b6b3cb | 47 | int channel(); |
vanenzo | 5:dcaed6b6b3cb | 48 | int mux_group(); |
vanenzo | 5:dcaed6b6b3cb | 49 | int button_check(); |
vanenzo | 0:957268dd05c4 | 50 | |
vanenzo | 4:2a0242bfbe0c | 51 | char key[] = "5"; |
vanenzo | 4:2a0242bfbe0c | 52 | char buffer[2]; |
vanenzo | 4:2a0242bfbe0c | 53 | |
vanenzo | 5:dcaed6b6b3cb | 54 | // переменные генератор-цап |
vanenzo | 0:957268dd05c4 | 55 | int freqdata; |
vanenzo | 0:957268dd05c4 | 56 | float amp; |
vanenzo | 0:957268dd05c4 | 57 | int form; |
vanenzo | 0:957268dd05c4 | 58 | float mdata; |
vanenzo | 0:957268dd05c4 | 59 | int sinus(); |
vanenzo | 0:957268dd05c4 | 60 | int square(); |
vanenzo | 0:957268dd05c4 | 61 | int triangle(); |
vanenzo | 0:957268dd05c4 | 62 | int adc_read(); |
vanenzo | 0:957268dd05c4 | 63 | int request(); |
vanenzo | 0:957268dd05c4 | 64 | int rasputte(); |
vanenzo | 0:957268dd05c4 | 65 | int adc_read(); |
vanenzo | 0:957268dd05c4 | 66 | |
vanenzo | 4:2a0242bfbe0c | 67 | int main() { |
vanenzo | 4:2a0242bfbe0c | 68 | while(true) { |
vanenzo | 0:957268dd05c4 | 69 | ddsstop; |
vanenzo | 0:957268dd05c4 | 70 | dacstop; |
vanenzo | 0:957268dd05c4 | 71 | DDS.format(16,2); |
vanenzo | 5:dcaed6b6b3cb | 72 | ddsstart; DDS.write(0x21C2); ddsstart; DDS.write(0x20C2);ddsstop; // инициализация dds |
vanenzo | 5:dcaed6b6b3cb | 73 | // ddsstart; ddsreset; ddsstop; |
vanenzo | 4:2a0242bfbe0c | 74 | |
vanenzo | 4:2a0242bfbe0c | 75 | do { |
vanenzo | 4:2a0242bfbe0c | 76 | fflush (stdout); |
vanenzo | 4:2a0242bfbe0c | 77 | scanf ("%2s",buffer); |
vanenzo | 4:2a0242bfbe0c | 78 | } while (strcmp (key,buffer) != 0); |
vanenzo | 4:2a0242bfbe0c | 79 | fflush (stdout); |
vanenzo | 5:dcaed6b6b3cb | 80 | mclk.period_us(0.1); |
vanenzo | 5:dcaed6b6b3cb | 81 | mclk.pulsewidth_us(0.05); |
vanenzo | 0:957268dd05c4 | 82 | request(); |
vanenzo | 5:dcaed6b6b3cb | 83 | rasputte(); |
vanenzo | 5:dcaed6b6b3cb | 84 | mux_group(); |
vanenzo | 5:dcaed6b6b3cb | 85 | sq=0.0;//выключение прямоугольника после ??? |
vanenzo | 4:2a0242bfbe0c | 86 | //ddsstart; |
vanenzo | 4:2a0242bfbe0c | 87 | //ddsoff; |
vanenzo | 4:2a0242bfbe0c | 88 | //ddsstop; |
vanenzo | 3:59a57634f1fa | 89 | } |
vanenzo | 4:2a0242bfbe0c | 90 | } |
vanenzo | 0:957268dd05c4 | 91 | |
vanenzo | 0:957268dd05c4 | 92 | int amplitude () { |
vanenzo | 5:dcaed6b6b3cb | 93 | uint16_t ampt; |
vanenzo | 5:dcaed6b6b3cb | 94 | uint16_t ampReg; |
vanenzo | 2:b489f23d9d2c | 95 | ampt = uint16_t(819.2*(5-amp)); |
vanenzo | 0:957268dd05c4 | 96 | ampReg = uint16_t(ampt & 0xFFF); |
vanenzo | 2:b489f23d9d2c | 97 | DAC.format(16,1); |
vanenzo | 2:b489f23d9d2c | 98 | dacstart; |
vanenzo | 0:957268dd05c4 | 99 | DAC.write(ampReg*4); |
vanenzo | 2:b489f23d9d2c | 100 | dacstop; |
vanenzo | 0:957268dd05c4 | 101 | return 0; |
vanenzo | 0:957268dd05c4 | 102 | } |
vanenzo | 0:957268dd05c4 | 103 | |
vanenzo | 0:957268dd05c4 | 104 | int freq () { |
vanenzo | 0:957268dd05c4 | 105 | ddsstart; |
vanenzo | 0:957268dd05c4 | 106 | float FreqReg; |
vanenzo | 0:957268dd05c4 | 107 | uint32_t ftemp; |
vanenzo | 0:957268dd05c4 | 108 | uint16_t Uptemp, Lowtemp; |
vanenzo | 0:957268dd05c4 | 109 | FreqReg = 26.8435456 * (uint32_t)freqdata*1000; |
vanenzo | 0:957268dd05c4 | 110 | ftemp = (uint32_t)FreqReg; |
vanenzo | 0:957268dd05c4 | 111 | Lowtemp = (uint16_t)(ftemp & 0x3FFF); |
vanenzo | 0:957268dd05c4 | 112 | Uptemp = (uint16_t)((ftemp/16384) & 0x3FFF); |
vanenzo | 0:957268dd05c4 | 113 | DDS.write(Lowtemp + 0x4000);ddsstart; |
vanenzo | 0:957268dd05c4 | 114 | DDS.write(Uptemp + 0x4000); |
vanenzo | 0:957268dd05c4 | 115 | ddsstop; |
vanenzo | 0:957268dd05c4 | 116 | return 0; |
vanenzo | 0:957268dd05c4 | 117 | } |
vanenzo | 0:957268dd05c4 | 118 | |
vanenzo | 0:957268dd05c4 | 119 | int freqsq () { |
vanenzo | 0:957268dd05c4 | 120 | float period; |
vanenzo | 0:957268dd05c4 | 121 | period = 1000/freqdata; |
vanenzo | 0:957268dd05c4 | 122 | sq.period_us(period); |
vanenzo | 0:957268dd05c4 | 123 | sq.pulsewidth_us(period/2); |
vanenzo | 0:957268dd05c4 | 124 | return 0; |
vanenzo | 0:957268dd05c4 | 125 | } |
vanenzo | 0:957268dd05c4 | 126 | |
vanenzo | 0:957268dd05c4 | 127 | int sinus() { |
vanenzo | 0:957268dd05c4 | 128 | ddsstart; |
vanenzo | 0:957268dd05c4 | 129 | sinsoft; |
vanenzo | 0:957268dd05c4 | 130 | freq(); |
vanenzo | 0:957268dd05c4 | 131 | ddsstop; |
vanenzo | 0:957268dd05c4 | 132 | amplitude(); |
vanenzo | 0:957268dd05c4 | 133 | return 0; |
vanenzo | 0:957268dd05c4 | 134 | } |
vanenzo | 0:957268dd05c4 | 135 | |
vanenzo | 0:957268dd05c4 | 136 | int square() { |
vanenzo | 1:8b6ad9d92745 | 137 | freqsq(); |
vanenzo | 2:b489f23d9d2c | 138 | ddsstart;DDS.write(0x210A); |
vanenzo | 1:8b6ad9d92745 | 139 | ddsstart;DDS.write(0x4000); |
vanenzo | 1:8b6ad9d92745 | 140 | ddsstart;DDS.write(0x4000); |
vanenzo | 1:8b6ad9d92745 | 141 | ddsstart;DDS.write(0x8000); |
vanenzo | 1:8b6ad9d92745 | 142 | ddsstart;DDS.write(0x8000); |
vanenzo | 1:8b6ad9d92745 | 143 | ddsstart;DDS.write(0xCC00); |
vanenzo | 1:8b6ad9d92745 | 144 | ddsstart;DDS.write(0xE400); |
vanenzo | 1:8b6ad9d92745 | 145 | ddsstart;DDS.write(0x220A); |
vanenzo | 0:957268dd05c4 | 146 | ddsstop; |
vanenzo | 0:957268dd05c4 | 147 | amplitude(); |
vanenzo | 0:957268dd05c4 | 148 | return 0; |
vanenzo | 0:957268dd05c4 | 149 | } |
vanenzo | 0:957268dd05c4 | 150 | |
vanenzo | 0:957268dd05c4 | 151 | int triangle() { |
vanenzo | 0:957268dd05c4 | 152 | ddsstart; |
vanenzo | 0:957268dd05c4 | 153 | trisoft; |
vanenzo | 0:957268dd05c4 | 154 | ddsstart; |
vanenzo | 0:957268dd05c4 | 155 | freq(); |
vanenzo | 0:957268dd05c4 | 156 | ddsstop; |
vanenzo | 0:957268dd05c4 | 157 | amplitude(); |
vanenzo | 0:957268dd05c4 | 158 | return 0; |
vanenzo | 0:957268dd05c4 | 159 | } |
vanenzo | 5:dcaed6b6b3cb | 160 | |
vanenzo | 5:dcaed6b6b3cb | 161 | |
vanenzo | 0:957268dd05c4 | 162 | int adc_read() |
vanenzo | 0:957268dd05c4 | 163 | { |
vanenzo | 0:957268dd05c4 | 164 | float y=0; |
vanenzo | 0:957268dd05c4 | 165 | float ymax=0; |
vanenzo | 0:957268dd05c4 | 166 | int ar = 0; |
vanenzo | 5:dcaed6b6b3cb | 167 | int qr = 200000/freqdata; |
vanenzo | 5:dcaed6b6b3cb | 168 | for (ar=0; ar<=qr; ar++) { |
vanenzo | 0:957268dd05c4 | 169 | y = analog_value.read(); |
vanenzo | 0:957268dd05c4 | 170 | if (ymax < y) { |
vanenzo | 0:957268dd05c4 | 171 | ymax = y; |
vanenzo | 0:957268dd05c4 | 172 | } |
vanenzo | 0:957268dd05c4 | 173 | } |
vanenzo | 5:dcaed6b6b3cb | 174 | printf(" %.5g\r\n",ymax*3.3); |
vanenzo | 0:957268dd05c4 | 175 | return 0; |
vanenzo | 5:dcaed6b6b3cb | 176 | } |
vanenzo | 0:957268dd05c4 | 177 | |
vanenzo | 0:957268dd05c4 | 178 | |
vanenzo | 0:957268dd05c4 | 179 | int request() |
vanenzo | 0:957268dd05c4 | 180 | { |
vanenzo | 5:dcaed6b6b3cb | 181 | fflush(stdout); |
vanenzo | 5:dcaed6b6b3cb | 182 | scanf("%i,%i,%f",&form,&freqdata,&); |
vanenzo | 5:dcaed6b6b3cb | 183 | printf("%i",8); // спросить Сашу |
vanenzo | 5:dcaed6b6b3cb | 184 | fflush(stdout); |
vanenzo | 5:dcaed6b6b3cb | 185 | return 0; |
vanenzo | 5:dcaed6b6b3cb | 186 | } |
vanenzo | 0:957268dd05c4 | 187 | |
vanenzo | 5:dcaed6b6b3cb | 188 | int rasputte() |
vanenzo | 0:957268dd05c4 | 189 | { |
vanenzo | 0:957268dd05c4 | 190 | switch(form) { |
vanenzo | 0:957268dd05c4 | 191 | case (1): |
vanenzo | 0:957268dd05c4 | 192 | sinus(); |
vanenzo | 0:957268dd05c4 | 193 | break; |
vanenzo | 0:957268dd05c4 | 194 | case (2): |
vanenzo | 0:957268dd05c4 | 195 | square(); |
vanenzo | 0:957268dd05c4 | 196 | break; |
vanenzo | 0:957268dd05c4 | 197 | case (3): |
vanenzo | 0:957268dd05c4 | 198 | triangle(); |
vanenzo | 0:957268dd05c4 | 199 | break; |
vanenzo | 0:957268dd05c4 | 200 | } |
vanenzo | 0:957268dd05c4 | 201 | return 0; |
vanenzo | 0:957268dd05c4 | 202 | } |
vanenzo | 0:957268dd05c4 | 203 | |
vanenzo | 5:dcaed6b6b3cb | 204 | int muxout(int j) |
vanenzo | 5:dcaed6b6b3cb | 205 | { |
vanenzo | 5:dcaed6b6b3cb | 206 | switch (j) { |
vanenzo | 5:dcaed6b6b3cb | 207 | case (0):{outA0=0; outA1=0; outA2=0; outA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 208 | case (1):{outA0=1; outA1=0; outA2=0; outA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 209 | case (2):{outA0=0; outA1=1; outA2=0; outA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 210 | case (3):{outA0=1; outA1=1; outA2=0; outA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 211 | case (4):{outA0=0; outA1=0; outA2=1; outA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 212 | case (5):{outA0=1; outA1=0; outA2=1; outA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 213 | case (6):{outA0=0; outA1=1; outA2=1; outA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 214 | case (7):{outA0=1; outA1=1; outA2=1; outA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 215 | case (8):{outA0=0; outA1=0; outA2=0; outA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 216 | case (9):{outA0=1; outA1=0; outA2=0; outA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 217 | case (10):{outA0=0; outA1=1; outA2=0; outA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 218 | case (11):{outA0=1; outA1=1; outA2=0; outA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 219 | case (12):{outA0=0; outA1=0; outA2=1; outA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 220 | case (13):{outA0=1; outA1=0; outA2=1; outA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 221 | case (14):{outA0=0; outA1=1; outA2=1; outA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 222 | case (15):{outA0=1; outA1=1; outA2=1; outA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 223 | } |
vanenzo | 5:dcaed6b6b3cb | 224 | return 0; |
vanenzo | 5:dcaed6b6b3cb | 225 | } |
vanenzo | 5:dcaed6b6b3cb | 226 | |
vanenzo | 5:dcaed6b6b3cb | 227 | int muxin(int k) |
vanenzo | 5:dcaed6b6b3cb | 228 | { |
vanenzo | 5:dcaed6b6b3cb | 229 | switch(k) { |
vanenzo | 5:dcaed6b6b3cb | 230 | case (0):{inA0=0; inA1=0; inA2=0; inA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 231 | case (1):{inA0=1; inA1=0; inA2=0; inA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 232 | case (2):{inA0=0; inA1=1; inA2=0; inA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 233 | case (3):{inA0=1; inA1=1; inA2=0; inA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 234 | case (4):{inA0=0; inA1=0; inA2=1; inA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 235 | case (5):{inA0=1; inA1=0; inA2=1; inA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 236 | case (6):{inA0=0; inA1=1; inA2=1; inA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 237 | case (7):{inA0=1; inA1=1; inA2=1; inA3=0;} break; |
vanenzo | 5:dcaed6b6b3cb | 238 | case (8):{inA0=0; inA1=0; inA2=0; inA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 239 | case (9):{inA0=1; inA1=0; inA2=0; inA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 240 | case (10):{inA0=0; inA1=1; inA2=0; inA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 241 | case (11):{inA0=1; inA1=1; inA2=0; inA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 242 | case (12):{inA0=0; inA1=0; inA2=1; inA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 243 | case (13):{inA0=1; inA1=0; inA2=1; inA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 244 | case (14):{inA0=0; inA1=1; inA2=1; inA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 245 | case (15):{inA0=1; inA1=1; inA2=1; inA3=1;} break; |
vanenzo | 5:dcaed6b6b3cb | 246 | } |
vanenzo | 5:dcaed6b6b3cb | 247 | return 0; |
vanenzo | 5:dcaed6b6b3cb | 248 | } |
vanenzo | 5:dcaed6b6b3cb | 249 | |
vanenzo | 5:dcaed6b6b3cb | 250 | int channel() |
vanenzo | 5:dcaed6b6b3cb | 251 | { |
vanenzo | 5:dcaed6b6b3cb | 252 | int j = 0; |
vanenzo | 5:dcaed6b6b3cb | 253 | int k = 0; |
vanenzo | 5:dcaed6b6b3cb | 254 | for (j = 0; j<=15; j++) { |
vanenzo | 5:dcaed6b6b3cb | 255 | button_check(); |
vanenzo | 5:dcaed6b6b3cb | 256 | muxout(j); |
vanenzo | 5:dcaed6b6b3cb | 257 | for (k = 0; k<=15; k++) { |
vanenzo | 6:a24da8bee018 | 258 | if ((k==j)||(j==(k+1))||(j==(k-1))||((k==0)&&(j==15))||((k==15)&&(j==0))) { |
vanenzo | 5:dcaed6b6b3cb | 259 | continue; |
vanenzo | 5:dcaed6b6b3cb | 260 | } else { |
vanenzo | 5:dcaed6b6b3cb | 261 | muxin(k); |
vanenzo | 5:dcaed6b6b3cb | 262 | adc_read(); |
vanenzo | 5:dcaed6b6b3cb | 263 | } |
vanenzo | 5:dcaed6b6b3cb | 264 | } |
vanenzo | 5:dcaed6b6b3cb | 265 | } |
vanenzo | 5:dcaed6b6b3cb | 266 | return 0; |
vanenzo | 5:dcaed6b6b3cb | 267 | } |
vanenzo | 5:dcaed6b6b3cb | 268 | |
vanenzo | 5:dcaed6b6b3cb | 269 | |
vanenzo | 5:dcaed6b6b3cb | 270 | int mux_init() |
vanenzo | 5:dcaed6b6b3cb | 271 | { |
vanenzo | 5:dcaed6b6b3cb | 272 | int mi = 0; |
vanenzo | 5:dcaed6b6b3cb | 273 | for (mi = 0; mi < 10; mi++) { |
vanenzo | 5:dcaed6b6b3cb | 274 | mux[mi] = 1; |
vanenzo | 5:dcaed6b6b3cb | 275 | } |
vanenzo | 5:dcaed6b6b3cb | 276 | return 0; |
vanenzo | 5:dcaed6b6b3cb | 277 | |
vanenzo | 5:dcaed6b6b3cb | 278 | } |
vanenzo | 5:dcaed6b6b3cb | 279 | |
vanenzo | 5:dcaed6b6b3cb | 280 | int mux_group() |
vanenzo | 5:dcaed6b6b3cb | 281 | { |
vanenzo | 6:a24da8bee018 | 282 | //mux_init(); |
vanenzo | 5:dcaed6b6b3cb | 283 | for (mg = 0; mg < 10; mg++) { |
vanenzo | 6:a24da8bee018 | 284 | if (mg > 0){mux[mg-1] = 1;} //Выключить предыдущий пояс |
vanenzo | 5:dcaed6b6b3cb | 285 | mux[mg] = 0; |
vanenzo | 5:dcaed6b6b3cb | 286 | channel(); |
vanenzo | 5:dcaed6b6b3cb | 287 | mux_init(); |
vanenzo | 5:dcaed6b6b3cb | 288 | } |
vanenzo | 5:dcaed6b6b3cb | 289 | return 0; |
vanenzo | 5:dcaed6b6b3cb | 290 | } |
vanenzo | 5:dcaed6b6b3cb | 291 | |
vanenzo | 5:dcaed6b6b3cb | 292 | int button_check() |
vanenzo | 5:dcaed6b6b3cb | 293 | { |
vanenzo | 5:dcaed6b6b3cb | 294 | if (button.read() == 1){ |
vanenzo | 5:dcaed6b6b3cb | 295 | wait_ms(10); |
vanenzo | 5:dcaed6b6b3cb | 296 | if (button.read() == 1){ |
vanenzo | 5:dcaed6b6b3cb | 297 | int amp1; |
vanenzo | 5:dcaed6b6b3cb | 298 | amp1 = amp; |
vanenzo | 5:dcaed6b6b3cb | 299 | amp = 0; |
vanenzo | 5:dcaed6b6b3cb | 300 | amplitude(); |
vanenzo | 5:dcaed6b6b3cb | 301 | while (button.read() == 1); |
vanenzo | 5:dcaed6b6b3cb | 302 | amp = amp1; |
vanenzo | 5:dcaed6b6b3cb | 303 | amplitude(); |
vanenzo | 5:dcaed6b6b3cb | 304 | } |
vanenzo | 5:dcaed6b6b3cb | 305 | } |
vanenzo | 5:dcaed6b6b3cb | 306 | return 0; |
vanenzo | 5:dcaed6b6b3cb | 307 | } |