Dmitry Kovalev
/
LG2
fork
Fork of LG by
Diff: MTimer.c
- Revision:
- 112:4a96133a1311
- Parent:
- 108:030cdde08314
- Child:
- 113:8be429494918
diff -r 8ee1ef722ba7 -r 4a96133a1311 MTimer.c --- a/MTimer.c Mon Apr 04 03:21:25 2016 +0000 +++ b/MTimer.c Mon Apr 04 11:09:56 2016 +0000 @@ -6,24 +6,15 @@ #include "Global.h" #include "SPI.h" #include "InputOutput.h" -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////TIMER1//////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + -////////////////////////////////////////////////////////////////////// -/////////////////////инициализация таймера 1 ///////////////////////// -////////////////////////////////////////////////////////////////////// + //unsigned int CountV=0; //unsigned int CountVf=0 ; unsigned int CountV31=0; unsigned int CountV255=0 ; unsigned int CountV64 = 0; -unsigned int Init_TIM1 (unsigned int TimerInterval ) -{ - LPC_TIM1->MR0 = TimerInterval; - LPC_TIM1->MCR = 3; /* Interrupt and Reset on MR1 */ - NVIC_EnableIRQ(TIMER1_IRQn); -} + @@ -45,24 +36,8 @@ Event1Hz--; Discharg (); BackLight (); - - - // sprintf(Time,"\r\n"); - /* for ( i = 0; i < 32; i++ ) - { - sprintf (Time," <%05d> ", Buff_32Point[i]); - WriteCon(Time); - }*/ - - // WriteCon("\n\r"); - /* sprintf((Time),"%d", Spi.DAC_B); - WriteCon(Time); - WriteCon("\n\r");*/ - - if( Rate_Flag)CMD_Rate(); - - // - + + if(Rate_Flag)CMD_Rate(); } } ///////////////////////////////////////////////////// @@ -113,6 +88,28 @@ ///////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////TIMER1//////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////// +/////////////////////инициализация таймера 1 ///////////////////////// +////////////////////////////////////////////////////////////////////// + +unsigned int Init_TIM1 (unsigned int TimerInterval ) +{ + LPC_TIM1->MR0 = TimerInterval; + LPC_TIM1->MCR = 3; /* Interrupt and Reset on MR1 */ + NVIC_EnableIRQ(TIMER1_IRQn); +} + + + + + + + + @@ -124,47 +121,6 @@ LPC_TIM1->TCR = 1; return; } -////////////////////////////////////////////////////////////////////// -/////////////////////////прерывание таймера 1////////////////////////// -////////////////////////////////////////////////////////////////////// -__irq void TIMER1_IRQHandler (void) -{ - ResetCS(ADC); //prepare ADC for sampling - SetDAC(DAC); - - CountV255++; - CountV255 &= 0xff; - CountV31 =CountV255 & 0x1f; - CountV64 = CountV255 & 0x3f; - - SetCS(ADC); //start ADC sampling - ResetDAC(DAC); - - D_QEI(); //чтение данных по счетчику - cheng(); // расчет вибропривода - - - - -// Gyro.CuruAngle += ((Buff_1Point [CountV255])*32)-Buff_32Point [CountV255]; -// Gyro.CuruAngle += Buff_1Point [CountV255]*32 + ((Buff_1Point [(CountV255 - 1 - 32) & 0xff] *32) - Buff_32Point [(CountV255 - 1) & 0xff]) - ((Buff_1Point [(CountV255 - 32) & 0xff] *32) - Buff_32Point [(CountV255 ) & 0xff]); -// Gyro.CuruAngle += Buff_32Point [(CountV255 + 32) & 0xff]; //- Buff_32Point [(CountV255 ) & 0xff]; - - Gyro.CuruAngle += Buff_32Point [CountV31];// - Buff_1Point [(CountV255 - 1) & 0xff]*32; - - - //Gyro.OldCuruAngle = Gyro.CuruAngle; - //Gyro.CuruAngle = Gyro.CuruAngle + Buff_32Point [CountV255]; - //Gyro.Num += Gyro.CuruAngle-Gyro.OldCuruAngle; - - - - - - SPI_Exchange(); //Чтение ADS_SPI - LPC_TIM1->IR = 1; - -} ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -195,6 +151,38 @@ + +////////////////////////////////////////////////////////////////////// +/////////////////////////прерывание таймера 1////////////////////////// +////////////////////////////////////////////////////////////////////// +__irq void TIMER1_IRQHandler (void) +{ + ResetCS(ADC); //prepare ADC for sampling + SetDAC(DAC); + + CountV255++; + CountV255 &= 0xff; + CountV31 =CountV255 & 0x1f; + CountV64 = CountV255 & 0x3f; + + SetCS(ADC); //start ADC sampling + ResetDAC(DAC); + + D_QEI(); //чтение данных по счетчику + cheng(); // расчет вибропривода + + + + Spi.SpiFlag=1; + LPC_TIM1->IR = 1; + +} + + + + + + /////////////////////////////////////////////////////////////////////// /////////////////////////прерывание таймера 2////////////////////////// /////////////////////////////////////////////////////////////////////// @@ -209,9 +197,9 @@ Time_vibro++; Time_1kHz++; - - VibroOut(); - + + Gyro.VibroOutF=1; + Event100K --; } \ No newline at end of file