![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
forkd
Fork of LG2 by
Diff: host/Source/App/MTimer.c
- Revision:
- 23:12e6183f04d4
diff -r bc8c1cec3da6 -r 12e6183f04d4 host/Source/App/MTimer.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/host/Source/App/MTimer.c Wed Feb 03 10:44:42 2016 +0300 @@ -0,0 +1,122 @@ +#include "Time.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 CountV64 = 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; + CountV64 = CountV255 & 0x3f; + 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(); + + + } \ No newline at end of file