forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

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