Dmitry Kovalev
/
LG2
fork
Fork of LG by
Diff: MTimer.c
- Revision:
- 0:8ad47e2b6f00
- Child:
- 15:f5191a1c3805
diff -r 000000000000 -r 8ad47e2b6f00 MTimer.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MTimer.c Sat Jan 30 13:00:39 2016 +0000 @@ -0,0 +1,121 @@ +#include "MTimer.h" +#include "LPC17xx.h" +#include "MTimer.h" +#include "vibro.h" +#include "QEI.h" +#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 init_timer (unsigned int TimerInterval ) + { + //start DAC prepearing for writing + LPC_TIM1->MR0 = TimerInterval; + LPC_TIM1->MCR = 3; /* Interrupt and Reset on MR1 */ + NVIC_EnableIRQ(TIMER1_IRQn); + //LPC_GPIO0->FIOSET |= (1<<5); + + return 0; + } + + +////////////////////////////////////////////////////////////////////// +/////////////////////////��������� ������� 1////////////////////////// +////////////////////////////////////////////////////////////////////// + void enable_timer1( void ) + { + LPC_TIM1->TCR = 1; + return; + } + + +////////////////////////////////////////////////////////////////////// +/////////////////////////���������� ������� 1////////////////////////// +////////////////////////////////////////////////////////////////////// + __irq void TIMER1_IRQHandler (void) + { +//LoopOn + + + // Init_SPI_Exchange();// CS + ResetCS(ADC); //prepare ADC for sampling + SetDAC(DAC); + + CountV255++; + CountV255 &= 0xff; + CountV31 =CountV255 & 0x1f; + + SetCS(ADC); //start ADC sampling + ResetDAC(DAC); + D_QEI(); + + cheng(); + +// CuruAngle = CuruAngle + Buff_32Point [CountVf] - 0xffff; + CuruAngle = CuruAngle + Buff_32Point [CountV255] - 0xffff; + + SPI_Exchange(); //������ ADS_SPI + + LPC_TIM1->IR = 1; + + } + + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////TIMER2////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////// +/////////////////////������������� ������� 2 ///////////////////////// +////////////////////////////////////////////////////////////////////// + unsigned int Init_TIM2 (void) + { + LPC_TIM2->MR0 = 250; + LPC_TIM2->MCR = 3; /* Interrupt and Reset on MR0 */ + NVIC_EnableIRQ(TIMER2_IRQn); + return 1; + } + + + +////////////////////////////////////////////////////////////////////// +/////////////////////////��������� ������� 2////////////////////////// +////////////////////////////////////////////////////////////////////// + void enable_timer2(void) + { + LPC_TIM2->TCR = 1; + LPC_TIM2->TCR = 0x01; + } + + + +/////////////////////////////////////////////////////////////////////// +/////////////////////////���������� ������� 2////////////////////////// +/////////////////////////////////////////////////////////////////////// + __irq void TIMER2_IRQHandler (void) + { + LPC_TIM2->IR = 1; + + Global_Time++; + + Time_UART++; + + Time_vibro++; + + Time_1kHz++; + + VibroOut(); + + + }