Dmitry Kovalev
/
LGstaandart
forkd
Fork of LG2 by
Diff: MTimer.c
- Revision:
- 214:4c70e452c491
- Parent:
- 213:9953db9543d6
- Child:
- 215:b58b887fd367
diff -r 9953db9543d6 -r 4c70e452c491 MTimer.c --- a/MTimer.c Wed Jul 26 13:24:39 2017 +0000 +++ b/MTimer.c Wed Aug 16 09:00:25 2017 +0000 @@ -17,62 +17,53 @@ /////////////////////EVENT/////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// +///////////////////// 1250Hz /////////////////////////// +///////////////////////////////////////////////////// +void Event_1250Hz(void)// событие раз в 1,25 КГц +{ + if(Event1250Hz) + { + Gyro.EvenRate7=1; + LoopOn + LoopOn + LoopOn + LoopOn + Event1250Hz--; + LoopOff + } +} +///////////////////////////////////////////////////// ///////////////////// 1Hz /////////////////////////// ///////////////////////////////////////////////////// void Event_1Hz(void)// событие раз в 1 Гц -{ int tempdac,tempdac1; +{ static int tempdac=0,tempdac1; if (Event1Hz) { + /* Check(BuffTemp, 8); + WriteConN (BuffTemp,8);*/ + + /* sprintf((Time)," %d %d \r\n", Spi.DAC_A,Gyro.DacIn); + WriteCon(Time);*/ if(Gyro.LogMod==1) ShowMod2(); Discharg(); BackLight(); Gyro.Rate1_Event = 1; Event1Hz--; Time1Hz++; - /* sprintf((Time),"%i %i %i %i %d\r\n",Spi.DAC_A, Gyro.HFO_Min, Gyro.HFO_Max,Gyro.RgConA ); - WriteCon(Time); */ - /* sprintf((Time)," %d %d %d \r\n", Gyro.PLC_Eror, Spi.DAC_B , Gyro.PLCDelay ,Gyro.RgConA); - Gyro.CuruAngle=0; - WriteCon(Time);*/ - if(Gyro.CuruAngleLog) - { - /* sprintf((Time),"%d %d %d %d \r\n", Gyro.CuruAngle, Gyro.CuruAngle64, Gyro.CuruAngle96, Gyro.CuruAngle128); - WriteCon(Time);*/ - - /* Gyro.CuruAngle = 0; - Gyro.CuruAngle64 = 0; - Gyro.CuruAngle96 = 0; - Gyro.CuruAngle128 = 0; */ - } - - - - /* for(int i=0; i<32;i++) - { - sprintf((Time),"%d ", Buff_Restored_sin[i]); - WriteCon(Time); - } - sprintf((Time),"\r\n"); - WriteCon(Time); - for(int i=0; i<32;i++) - { - sprintf((Time)," %d ", Buff_1Point[i-7]); - WriteCon(Time); - } - sprintf((Time),"\r\n"); - WriteCon(Time);*/ - } - + // sprintf((Time),"%d \r\n",Gyro.ModeOut ); + // WriteCon(Time); + + } } ///////////////////////////////////////////////////// ///////////////////// 1kHz ////////////////////////// ///////////////////////////////////////////////////// void Event_1KHz(void)// событие раз в 1 кГц -{ - if (Event1K) +{ if (Event1K) { - if(Gyro.PLCDelay)Gyro.PLCDelay--; + if(Gyro.PLCDelay) Gyro.PLCDelay--; Event1K --; + Time1K++;//первый ++ работает каждые 125 (event100kHz)второй был в 100 кГц if (Time1K > 1000) { @@ -80,17 +71,20 @@ Event1Hz ++; } - } + } } void Event_2KHz(void)// событие раз в 1 кГц -{ +{int temp=0; + if (Event2K) { if(Gyro.LogMod==2) - { - sprintf((Time),"%d %d %d %d \r\n", Spi.DAC_A, tempDeltaRegul, Spi.DAC_B, Gyro.CuruAngle); + { temp=((((Spi.DAC_A/0.6667) - 30000))-0x7fff); + sprintf((Time),"%i %d %i %f %i %d \r\n", (Spi.DAC_B - 0x7fff), Gyro.LG_Type, Spi.DAC_A ,(Spi.DAC_A/0.6667),temp, Gyro.PLC_Eror_count ); WriteCon(Time); - Gyro.CuruAngle=0; + Gyro.PLC_Eror_count=0; + Gyro.LG_Type=1; + } Event2K --; Gyro.Rate3_Event++; @@ -124,7 +118,7 @@ } if(MODFlag==2) { - BuffADC_64Point[MODCount&0x3f]=ADC5New; + /* BuffADC_64Point[MODCount&0x3f]=ADC5New;*/ LPC_DAC->DACR = (ModArraySin[MODCount&0x3f] * Gyro.ModAmp); if((MODCount&0x3f)==0) PLCRegul250(); @@ -170,6 +164,7 @@ unsigned int Init_TIM1 (unsigned int TimerInterval ) { + // LPC_SC->PCLKSEL0 |= (1<<4); LPC_TIM1->MR0 = TimerInterval; LPC_TIM1->MCR = 3; /* Interrupt and Reset on MR1 */ NVIC_EnableIRQ(TIMER1_IRQn); @@ -234,8 +229,7 @@ ResetDAC(DAC); SPI_Exchange(); //Чтение ADC_SPI - LPC_TIM1->IR = 1; - + LPC_TIM1->IR = 1; } @@ -250,20 +244,30 @@ { if(Time_UART) Time_UART--; } + // + Time_vibro++; - VibroOut(); + // VibroOut(); Gyro.VibroOutF=1; - Event100K ++; + Event100K ++; + Time1250Hz++; Time500Hz++; Time250Hz++; Time100K++; Time2K++; //Time2K++; // Time250Hz++; + + if (Time1250Hz > 79) + { + Time1250Hz -= 80; + Event1250Hz ++; + } if (Time100K == 100) - { + { // LoopOn Time100K = 0; Event1K ++; + // LoopOn } if (Time2K== 2000)