fork

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Kovalev_D
Date:
Wed Sep 27 13:09:24 2017 +0000
Revision:
219:2d3475d0dd1b
Parent:
218:b4067cac75c0
hnjtfgyy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
igor_v 0:8ad47e2b6f00 1 #include "MTimer.h"
igor_v 0:8ad47e2b6f00 2 #include "LPC17xx.h"
igor_v 0:8ad47e2b6f00 3 #include "MTimer.h"
igor_v 0:8ad47e2b6f00 4 #include "vibro.h"
igor_v 0:8ad47e2b6f00 5 #include "QEI.h"
igor_v 0:8ad47e2b6f00 6 #include "Global.h"
igor_v 0:8ad47e2b6f00 7 #include "SPI.h"
igor_v 0:8ad47e2b6f00 8 #include "InputOutput.h"
Kovalev_D 112:4a96133a1311 9
Kovalev_D 197:7a05523bf588 10 unsigned int CountV64=0;
igor_v 0:8ad47e2b6f00 11 unsigned int CountV31=0;
Kovalev_D 197:7a05523bf588 12 unsigned int CountV255=0;
Kovalev_D 215:b58b887fd367 13 unsigned int CountV511=0;
Kovalev_D 209:224e7331a061 14 unsigned int f,MODCount=0;
Kovalev_D 124:9ae09249f842 15 int loop=0;
Kovalev_D 208:19150d2b528f 16 int t;
Kovalev_D 88:b5c1d9d338d1 17 /////////////////////////////////////////////////////
Kovalev_D 88:b5c1d9d338d1 18 /////////////////////EVENT///////////////////////////
Kovalev_D 88:b5c1d9d338d1 19 /////////////////////////////////////////////////////
Kovalev_D 89:a0d344db227e 20 /////////////////////////////////////////////////////
Kovalev_D 214:4c70e452c491 21 ///////////////////// 1250Hz ///////////////////////////
Kovalev_D 214:4c70e452c491 22 /////////////////////////////////////////////////////
Kovalev_D 214:4c70e452c491 23 void Event_1250Hz(void)// событие раз в 1,25 КГц
Kovalev_D 214:4c70e452c491 24 {
Kovalev_D 214:4c70e452c491 25 if(Event1250Hz)
Kovalev_D 214:4c70e452c491 26 {
Kovalev_D 214:4c70e452c491 27 Gyro.EvenRate7=1;
Kovalev_D 215:b58b887fd367 28
Kovalev_D 214:4c70e452c491 29 Event1250Hz--;
Kovalev_D 215:b58b887fd367 30
Kovalev_D 214:4c70e452c491 31 }
Kovalev_D 214:4c70e452c491 32 }
Kovalev_D 214:4c70e452c491 33 /////////////////////////////////////////////////////
Kovalev_D 89:a0d344db227e 34 ///////////////////// 1Hz ///////////////////////////
Kovalev_D 89:a0d344db227e 35 /////////////////////////////////////////////////////
Kovalev_D 88:b5c1d9d338d1 36 void Event_1Hz(void)// событие раз в 1 Гц
Kovalev_D 214:4c70e452c491 37 { static int tempdac=0,tempdac1;
Kovalev_D 115:e5a230e5af52 38 if (Event1Hz)
Kovalev_D 216:189b0ea1dc38 39 {
Kovalev_D 216:189b0ea1dc38 40
Kovalev_D 216:189b0ea1dc38 41 /* SinMns=0;
Kovalev_D 216:189b0ea1dc38 42 SinPls=0; */
Kovalev_D 216:189b0ea1dc38 43 //BuffADC_64Point[CountV64] = ADC_64Point;
Kovalev_D 216:189b0ea1dc38 44 // BuffADC_32PointD[CountV64] = ADC_32PointD;
Kovalev_D 216:189b0ea1dc38 45 /* for(int q=0; q<64; q++)
Kovalev_D 215:b58b887fd367 46 {
Kovalev_D 216:189b0ea1dc38 47 sprintf((Time)," %d ", Buff_Restored_Mod[q]);
Kovalev_D 215:b58b887fd367 48 WriteCon(Time);
Kovalev_D 215:b58b887fd367 49 }
Kovalev_D 215:b58b887fd367 50 sprintf((Time)," \r\n ");
Kovalev_D 216:189b0ea1dc38 51 WriteCon(Time);
Kovalev_D 216:189b0ea1dc38 52 for(int q=0; q<64; q++)
Kovalev_D 216:189b0ea1dc38 53 {
Kovalev_D 216:189b0ea1dc38 54 sprintf((Time)," %d ", BuffADC_64Point[q]);
Kovalev_D 216:189b0ea1dc38 55 WriteCon(Time);
Kovalev_D 216:189b0ea1dc38 56 }
Kovalev_D 216:189b0ea1dc38 57 sprintf((Time)," \r\n ");
Kovalev_D 216:189b0ea1dc38 58 WriteCon(Time); */
Kovalev_D 216:189b0ea1dc38 59 /* for(int q=0; q<64; q++)
Kovalev_D 216:189b0ea1dc38 60 {
Kovalev_D 216:189b0ea1dc38 61 sprintf((Time)," %d ", BuffADC_32PointD[q]);
Kovalev_D 216:189b0ea1dc38 62 WriteCon(Time);
Kovalev_D 216:189b0ea1dc38 63 }
Kovalev_D 216:189b0ea1dc38 64 sprintf((Time),"\r\n ");
Kovalev_D 216:189b0ea1dc38 65 WriteCon(Time);
Kovalev_D 216:189b0ea1dc38 66 */
Kovalev_D 215:b58b887fd367 67
Kovalev_D 214:4c70e452c491 68 /* Check(BuffTemp, 8);
Kovalev_D 214:4c70e452c491 69 WriteConN (BuffTemp,8);*/
Kovalev_D 218:b4067cac75c0 70 /* sprintf((Time)," %d \r\n", Spi.DAC_A);
Kovalev_D 215:b58b887fd367 71 WriteCon(Time);*/
Kovalev_D 215:b58b887fd367 72 /* if(Gyro.RgConA&0x8)
Kovalev_D 215:b58b887fd367 73 {
Kovalev_D 215:b58b887fd367 74 if(Gyro.PLC_regul>0){Spi.DAC_B-=Gyro.PLC_regul*Gyro.PLC_Gain;}
Kovalev_D 215:b58b887fd367 75 else {Spi.DAC_B+=Gyro.PLC_regul*Gyro.PLC_Gain;}
Kovalev_D 215:b58b887fd367 76 }
Kovalev_D 215:b58b887fd367 77 Gyro.PLC_regul=0;*/
Kovalev_D 214:4c70e452c491 78 /* sprintf((Time)," %d %d \r\n", Spi.DAC_A,Gyro.DacIn);
Kovalev_D 214:4c70e452c491 79 WriteCon(Time);*/
Kovalev_D 213:9953db9543d6 80 if(Gyro.LogMod==1) ShowMod2();
Kovalev_D 208:19150d2b528f 81 Discharg();
Kovalev_D 208:19150d2b528f 82 BackLight();
Kovalev_D 208:19150d2b528f 83 Gyro.Rate1_Event = 1;
Kovalev_D 208:19150d2b528f 84 Event1Hz--;
Kovalev_D 208:19150d2b528f 85 Time1Hz++;
Kovalev_D 214:4c70e452c491 86 // sprintf((Time),"%d \r\n",Gyro.ModeOut );
Kovalev_D 214:4c70e452c491 87 // WriteCon(Time);
Kovalev_D 214:4c70e452c491 88
Kovalev_D 214:4c70e452c491 89 }
Kovalev_D 88:b5c1d9d338d1 90 }
Kovalev_D 89:a0d344db227e 91 /////////////////////////////////////////////////////
Kovalev_D 89:a0d344db227e 92 ///////////////////// 1kHz //////////////////////////
Kovalev_D 197:7a05523bf588 93 /////////////////////////////////////////////////////
Kovalev_D 88:b5c1d9d338d1 94 void Event_1KHz(void)// событие раз в 1 кГц
Kovalev_D 214:4c70e452c491 95 { if (Event1K)
Kovalev_D 116:66f1f0ff2dab 96 {
Kovalev_D 214:4c70e452c491 97 if(Gyro.PLCDelay) Gyro.PLCDelay--;
Kovalev_D 88:b5c1d9d338d1 98 Event1K --;
Kovalev_D 215:b58b887fd367 99
Kovalev_D 116:66f1f0ff2dab 100 Time1K++;//первый ++ работает каждые 125 (event100kHz)второй был в 100 кГц
Kovalev_D 209:224e7331a061 101 if (Time1K > 1000)
Kovalev_D 115:e5a230e5af52 102 {
Kovalev_D 208:19150d2b528f 103 Time1K -=1000;
Kovalev_D 88:b5c1d9d338d1 104 Event1Hz ++;
Kovalev_D 88:b5c1d9d338d1 105 }
Kovalev_D 209:224e7331a061 106
Kovalev_D 214:4c70e452c491 107 }
Kovalev_D 88:b5c1d9d338d1 108 }
Kovalev_D 209:224e7331a061 109
Kovalev_D 209:224e7331a061 110 void Event_2KHz(void)// событие раз в 1 кГц
Kovalev_D 218:b4067cac75c0 111 {
Kovalev_D 218:b4067cac75c0 112 int temp=0;
Kovalev_D 214:4c70e452c491 113
Kovalev_D 209:224e7331a061 114 if (Event2K)
Kovalev_D 218:b4067cac75c0 115 {
Kovalev_D 218:b4067cac75c0 116
Kovalev_D 215:b58b887fd367 117 if(Gyro.LogMod)
Kovalev_D 215:b58b887fd367 118 {
Kovalev_D 218:b4067cac75c0 119 sprintf((Time)," %d %d %d %d \r\n", Spi.DAC_B, Gyro.Debag, Spi.DAC_A, Gyro.Debag2);
Kovalev_D 218:b4067cac75c0 120 WriteCon(Time);
Kovalev_D 213:9953db9543d6 121 }
Kovalev_D 209:224e7331a061 122 Event2K --;
Kovalev_D 218:b4067cac75c0 123
Kovalev_D 215:b58b887fd367 124 //Gyro.Rate3_Event++;
Kovalev_D 209:224e7331a061 125 }
Kovalev_D 209:224e7331a061 126 }
Kovalev_D 124:9ae09249f842 127 void Event_500Hz(void)// событие раз в 500 Гц
Kovalev_D 124:9ae09249f842 128 {
Kovalev_D 124:9ae09249f842 129 if(Event500Hz)
Kovalev_D 211:ac8251b067d2 130 {
Kovalev_D 215:b58b887fd367 131 /* if(Gyro.LogMod==5)
Kovalev_D 215:b58b887fd367 132 {
Kovalev_D 215:b58b887fd367 133 } */
Kovalev_D 205:775d54fdf646 134 Event500Hz--;
Kovalev_D 208:19150d2b528f 135 Gyro.Event_500Hz=1;// Event 500Гц выдачи данных для постройки графика управления вибро
Kovalev_D 197:7a05523bf588 136 }
Kovalev_D 197:7a05523bf588 137 }
Kovalev_D 209:224e7331a061 138 void Event_250Hz(void)
Kovalev_D 209:224e7331a061 139 {
Kovalev_D 209:224e7331a061 140 if(Event250Hz)
Kovalev_D 209:224e7331a061 141 {
Kovalev_D 218:b4067cac75c0 142
Kovalev_D 209:224e7331a061 143 // Gyro.CuruAngle=0;
Kovalev_D 209:224e7331a061 144 Event250Hz--;
Kovalev_D 209:224e7331a061 145 MODCount++;
Kovalev_D 209:224e7331a061 146 if((MODCount&0x3f)==0)
Kovalev_D 209:224e7331a061 147 {/*
Kovalev_D 209:224e7331a061 148 sprintf((Time),"%d %d %d\r\n", Spi.DAC_B, (0xffff - Spi.ADC5), Gyro.CuruAngle);
Kovalev_D 209:224e7331a061 149 WriteCon(Time);
Kovalev_D 209:224e7331a061 150 Gyro.CuruAngle = 0;
Kovalev_D 209:224e7331a061 151 Gyro.CaunMinRate = 0;
Kovalev_D 209:224e7331a061 152 Gyro.CaunPlusRate = 0;
Kovalev_D 209:224e7331a061 153 */
Kovalev_D 209:224e7331a061 154 }
Kovalev_D 215:b58b887fd367 155
Kovalev_D 209:224e7331a061 156 if(MODFlag==2)
Kovalev_D 209:224e7331a061 157 {
Kovalev_D 214:4c70e452c491 158 /* BuffADC_64Point[MODCount&0x3f]=ADC5New;*/
Kovalev_D 209:224e7331a061 159 LPC_DAC->DACR = (ModArraySin[MODCount&0x3f] * Gyro.ModAmp);
Kovalev_D 209:224e7331a061 160
Kovalev_D 209:224e7331a061 161 if((MODCount&0x3f)==0) PLCRegul250();
Kovalev_D 209:224e7331a061 162 }
Kovalev_D 209:224e7331a061 163 }
Kovalev_D 209:224e7331a061 164 }
Kovalev_D 89:a0d344db227e 165 /////////////////////////////////////////////////////
Kovalev_D 89:a0d344db227e 166 ///////////////////// 100kHz //////////////////////////
Kovalev_D 89:a0d344db227e 167 /////////////////////////////////////////////////////
Kovalev_D 193:a0fe8bfc97e4 168 void Event_100KHz(void)// событие раз в 100 кГц
Kovalev_D 88:b5c1d9d338d1 169 {
Kovalev_D 162:44e4ded32c6a 170
Kovalev_D 88:b5c1d9d338d1 171 if (Event100K) {
Kovalev_D 197:7a05523bf588 172
Kovalev_D 88:b5c1d9d338d1 173 Event100K --;
Kovalev_D 197:7a05523bf588 174
Kovalev_D 124:9ae09249f842 175 if (OutBufCon1Count)OutBufCon1Count--; // обратный отсчет для управления ногой и формирование задержки на выдачу
Kovalev_D 124:9ae09249f842 176
Kovalev_D 124:9ae09249f842 177 PinCheng(); // чтение регистра состояния выводов(вибро, полсветка, поджиг, LED) и управление выводами.
Kovalev_D 88:b5c1d9d338d1 178 }
Kovalev_D 88:b5c1d9d338d1 179 }
Kovalev_D 89:a0d344db227e 180 /////////////////////////////////////////////////////
Kovalev_D 89:a0d344db227e 181 //////////////////vibro EVENT////////////////////////
Kovalev_D 89:a0d344db227e 182 /////////////////////////////////////////////////////
Kovalev_D 88:b5c1d9d338d1 183 void Event_Vibro(void)// событие от вибр
Kovalev_D 88:b5c1d9d338d1 184 {
Kovalev_D 88:b5c1d9d338d1 185 if (EventVibro) {
Kovalev_D 88:b5c1d9d338d1 186 EventVibro --;
Kovalev_D 88:b5c1d9d338d1 187 }
Kovalev_D 88:b5c1d9d338d1 188 }
Kovalev_D 89:a0d344db227e 189 /////////////////////////////////////////////////////
Kovalev_D 89:a0d344db227e 190 /////////////////////////////////////////////////////
Kovalev_D 89:a0d344db227e 191 /////////////////////////////////////////////////////
Kovalev_D 88:b5c1d9d338d1 192
Kovalev_D 88:b5c1d9d338d1 193
Kovalev_D 112:4a96133a1311 194 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 112:4a96133a1311 195 ////////////////////////////////////////////////////////TIMER1////////////////////////////////////////////////////////////////////////////
Kovalev_D 112:4a96133a1311 196 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 112:4a96133a1311 197
Kovalev_D 112:4a96133a1311 198 //////////////////////////////////////////////////////////////////////
Kovalev_D 112:4a96133a1311 199 /////////////////////инициализация таймера 1 /////////////////////////
Kovalev_D 112:4a96133a1311 200 //////////////////////////////////////////////////////////////////////
Kovalev_D 112:4a96133a1311 201
Kovalev_D 112:4a96133a1311 202 unsigned int Init_TIM1 (unsigned int TimerInterval )
Kovalev_D 112:4a96133a1311 203 {
Kovalev_D 214:4c70e452c491 204 // LPC_SC->PCLKSEL0 |= (1<<4);
Kovalev_D 112:4a96133a1311 205 LPC_TIM1->MR0 = TimerInterval;
Kovalev_D 112:4a96133a1311 206 LPC_TIM1->MCR = 3; /* Interrupt and Reset on MR1 */
Kovalev_D 112:4a96133a1311 207 NVIC_EnableIRQ(TIMER1_IRQn);
Kovalev_D 112:4a96133a1311 208 }
Kovalev_D 112:4a96133a1311 209
Kovalev_D 112:4a96133a1311 210
igor_v 0:8ad47e2b6f00 211 //////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 212 /////////////////////////включение таймера 1//////////////////////////
igor_v 0:8ad47e2b6f00 213 //////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 214 void enable_timer1( void )
igor_v 21:bc8c1cec3da6 215 {
igor_v 21:bc8c1cec3da6 216 LPC_TIM1->TCR = 1;
igor_v 21:bc8c1cec3da6 217 return;
igor_v 21:bc8c1cec3da6 218 }
igor_v 0:8ad47e2b6f00 219
igor_v 0:8ad47e2b6f00 220
igor_v 0:8ad47e2b6f00 221 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
igor_v 0:8ad47e2b6f00 222 /////////////////////////////////////////////////TIMER2//////////////////////////////////////////////////////////////////////////////////
igor_v 0:8ad47e2b6f00 223 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 224
igor_v 0:8ad47e2b6f00 225 //////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 226 /////////////////////инициализация таймера 2 /////////////////////////
igor_v 0:8ad47e2b6f00 227 //////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 228 unsigned int Init_TIM2 (void)
igor_v 21:bc8c1cec3da6 229 {
Kovalev_D 124:9ae09249f842 230 LPC_TIM2->MR0 = 257;
igor_v 21:bc8c1cec3da6 231 LPC_TIM2->MCR = 3; /* Interrupt and Reset on MR0 */
igor_v 21:bc8c1cec3da6 232 NVIC_EnableIRQ(TIMER2_IRQn);
igor_v 21:bc8c1cec3da6 233 return 1;
igor_v 21:bc8c1cec3da6 234 }
igor_v 0:8ad47e2b6f00 235
igor_v 21:bc8c1cec3da6 236 //////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 237 /////////////////////////включение таймера 2//////////////////////////
igor_v 21:bc8c1cec3da6 238 //////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 239 void enable_timer2(void)
igor_v 21:bc8c1cec3da6 240 {
igor_v 21:bc8c1cec3da6 241 LPC_TIM2->TCR = 1;
igor_v 21:bc8c1cec3da6 242 LPC_TIM2->TCR = 0x01;
igor_v 21:bc8c1cec3da6 243 }
igor_v 21:bc8c1cec3da6 244
igor_v 21:bc8c1cec3da6 245
Kovalev_D 112:4a96133a1311 246 //////////////////////////////////////////////////////////////////////
Kovalev_D 112:4a96133a1311 247 /////////////////////////прерывание таймера 1//////////////////////////
Kovalev_D 112:4a96133a1311 248 //////////////////////////////////////////////////////////////////////
Kovalev_D 215:b58b887fd367 249 __irq void TIMER1_IRQHandler (void)//13.27 kHz(vibro*32)
Kovalev_D 205:775d54fdf646 250 {
Kovalev_D 208:19150d2b528f 251
Kovalev_D 208:19150d2b528f 252
igor_v 114:5cc38a53d8a7 253 ResetCS(ADC); //prepare ADC for sampling
Kovalev_D 112:4a96133a1311 254 SetDAC(DAC);
Kovalev_D 208:19150d2b528f 255 Global_Time++;
igor_v 114:5cc38a53d8a7 256 CountV255++; // инкремент счеттчика
Kovalev_D 215:b58b887fd367 257 CountV511++;
Kovalev_D 164:6f43f85fdd8d 258 CountV255 &= 0xff; // ОБРЕЗАНИЕ СЧЕТЧИКА
Kovalev_D 215:b58b887fd367 259 CountV511 &= 0x1ff;
Kovalev_D 197:7a05523bf588 260 CountV64 = CountV255 & 0x3f;
Kovalev_D 197:7a05523bf588 261 CountV31 = CountV255 & 0x1f; // малый счетчик
Kovalev_D 197:7a05523bf588 262
Kovalev_D 112:4a96133a1311 263 D_QEI(); //чтение данных по счетчику
Kovalev_D 143:2b15794a6cd2 264 cheng(); // выставление флагов в 32 тактном цикле.
Kovalev_D 116:66f1f0ff2dab 265
Kovalev_D 116:66f1f0ff2dab 266
Kovalev_D 116:66f1f0ff2dab 267 SetCS(ADC); //start ADC sampling
Kovalev_D 116:66f1f0ff2dab 268 ResetDAC(DAC);
Kovalev_D 197:7a05523bf588 269 SPI_Exchange(); //Чтение ADC_SPI
igor_v 114:5cc38a53d8a7 270
Kovalev_D 214:4c70e452c491 271 LPC_TIM1->IR = 1;
Kovalev_D 208:19150d2b528f 272
Kovalev_D 112:4a96133a1311 273 }
Kovalev_D 112:4a96133a1311 274
igor_v 21:bc8c1cec3da6 275 ///////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 276 /////////////////////////прерывание таймера 2//////////////////////////
igor_v 21:bc8c1cec3da6 277 ///////////////////////////////////////////////////////////////////////
igor_v 21:bc8c1cec3da6 278 __irq void TIMER2_IRQHandler (void)
Kovalev_D 210:b02fa166315d 279 {
Kovalev_D 213:9953db9543d6 280 /// LoopOn
igor_v 21:bc8c1cec3da6 281 LPC_TIM2->IR = 1;
Kovalev_D 213:9953db9543d6 282 if (Gyro.UARTFlag)
Kovalev_D 213:9953db9543d6 283 {
Kovalev_D 213:9953db9543d6 284 if(Time_UART) Time_UART--;
Kovalev_D 213:9953db9543d6 285 }
Kovalev_D 214:4c70e452c491 286 //
Kovalev_D 214:4c70e452c491 287
igor_v 21:bc8c1cec3da6 288 Time_vibro++;
Kovalev_D 214:4c70e452c491 289 // VibroOut();
Kovalev_D 112:4a96133a1311 290 Gyro.VibroOutF=1;
Kovalev_D 214:4c70e452c491 291 Event100K ++;
Kovalev_D 214:4c70e452c491 292 Time1250Hz++;
Kovalev_D 197:7a05523bf588 293 Time500Hz++;
Kovalev_D 209:224e7331a061 294 Time250Hz++;
Kovalev_D 197:7a05523bf588 295 Time100K++;
Kovalev_D 209:224e7331a061 296 Time2K++;
Kovalev_D 209:224e7331a061 297 //Time2K++;
Kovalev_D 205:775d54fdf646 298 // Time250Hz++;
Kovalev_D 214:4c70e452c491 299
Kovalev_D 214:4c70e452c491 300 if (Time1250Hz > 79)
Kovalev_D 214:4c70e452c491 301 {
Kovalev_D 214:4c70e452c491 302 Time1250Hz -= 80;
Kovalev_D 214:4c70e452c491 303 Event1250Hz ++;
Kovalev_D 214:4c70e452c491 304 }
Kovalev_D 197:7a05523bf588 305 if (Time100K == 100)
Kovalev_D 214:4c70e452c491 306 { // LoopOn
Kovalev_D 197:7a05523bf588 307 Time100K = 0;
Kovalev_D 197:7a05523bf588 308 Event1K ++;
Kovalev_D 214:4c70e452c491 309 // LoopOn
Kovalev_D 197:7a05523bf588 310 }
Kovalev_D 209:224e7331a061 311
Kovalev_D 218:b4067cac75c0 312 if (Time2K== 10000)
Kovalev_D 209:224e7331a061 313 { Time2K=0;
Kovalev_D 209:224e7331a061 314 //Time100K = 0;
Kovalev_D 209:224e7331a061 315 Event2K ++;
Kovalev_D 209:224e7331a061 316 }
Kovalev_D 209:224e7331a061 317
Kovalev_D 197:7a05523bf588 318 if (Time500Hz > 200)
Kovalev_D 208:19150d2b528f 319 { // LoopOn
Kovalev_D 197:7a05523bf588 320 Time500Hz -= 200;
Kovalev_D 208:19150d2b528f 321 Event500Hz ++;
Kovalev_D 197:7a05523bf588 322 }
Kovalev_D 209:224e7331a061 323
Kovalev_D 209:224e7331a061 324 if (Time250Hz > 6)
Kovalev_D 209:224e7331a061 325 { // LoopOn
Kovalev_D 209:224e7331a061 326 Time250Hz -= 6;
Kovalev_D 209:224e7331a061 327 Event250Hz ++;
Kovalev_D 209:224e7331a061 328 }
Kovalev_D 210:b02fa166315d 329
Kovalev_D 213:9953db9543d6 330 //LoopOff
igor_v 21:bc8c1cec3da6 331 }