fork

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
89:a0d344db227e
Parent:
88:b5c1d9d338d1
Child:
90:d9b6a4bc5065
--- a/Global.c	Thu Mar 24 10:15:56 2016 +0000
+++ b/Global.c	Thu Mar 24 12:57:10 2016 +0000
@@ -2,11 +2,11 @@
 
 
 
-unsigned int VibroReg = 0;   //регистр состаяния вибропривода.
-unsigned long Global_Time, Time_UART,Time_Sec,Time_vibro,Time_1kHz;
-unsigned long MaxAmp=0;
-unsigned char BuffTemp[100];
-unsigned char Time[500];
+unsigned int 	VibroReg = 0;   //регистр состаяния вибропривода.
+unsigned long	Global_Time, Time_UART,Time_Sec,Time_vibro,Time_1kHz;
+unsigned long	MaxAmp=0;
+unsigned char	BuffTemp[100];
+unsigned char 	Time[500];
 unsigned int 	Event1Hz;
 unsigned int 	Event1K ;
 unsigned int 	Event100K;
@@ -20,6 +20,16 @@
 
 void GLD_Init(void)
 {
+	 
+/////////////////////////////////////////////
+///////////инициализация таймеров////////////
+/////////////////////////////////////////////
+     Init_TIM1(TIME_INTERVAL ); //Timer 1: CCLK / 7812 = 12800.819Hz; Vibro: Timer1/32 = 400.025Hz; 10ms???
+	 Init_TIM2();				//Timer 2: CCLK / 4 / 250 = 100kHz
+/////////////////////////////////////////////
+/////////////////////////////////////////////	
+	
+	
 /////////////////////////////////////////////
 ///////////обнуление счетчиков///////////////
 /////////////////////////////////////////////
@@ -45,9 +55,6 @@
 
 
 
-
-
-
     /////////////////////////////////////////////////////
     /////////////обнуление переменых для/////////////////
     ///////////расчета значений буферов ВП///////////////
@@ -122,6 +129,8 @@
     */
 
 
+
+
     /////////////////////////////////////////////////////
     //////инициализация цап_LPC (р0.26 цап выход)////////
     /////////////////////////////////////////////////////
@@ -159,10 +168,10 @@
     LPC_SC->PCLKSEL1 |= 0x00000001;	   // выбор частоты для кв.э. CLK=100MHz
     LPC_PINCON->PINSEL3 &= ~0x4100;
     LPC_PINCON->PINSEL3 |= 0x4100;	  //P1.20, p1.23 установить как входы кв.э
-    LPC_PINCON->PINMODE3 |= 0x3C300;	  //P1.20, p1.23, p1.24 ??are pulled-down??(притянуть к питанию)????
+    LPC_PINCON->PINMODE3 |= 0x3C300;	  //P1.20, p1.23 
 
     LPC_QEI->MAXPOS = MAX_QEI_CNT;	//LPC_QEI->"регистор максимального положения" = 2147483646
-    LPC_QEI->FILTER = 2;		   // фильтр( ?? )
+    LPC_QEI->FILTER = 2;		    // фильтр( ?? )
     LPC_QEI->CON = 0xF;				//сбросить в ноль все счетчики кв.э. (скорость, направление, позицию и тд)
     LPC_QEI->CONF = (0<<2) |(0<<1);	//Quadrature inputs, no inverting,only A pulses are counted
 
@@ -175,31 +184,44 @@
     //////////////////////////////////////////////////////
 
 
-
+  //////////////////////////////////////////////////////
+  ///////////////////////I2C////////////////////////////
+  //////////////////////////////////////////////////////
 
+  LPC_SC->PCONP |= (1 << 19);//включение интерфейса I2C.
 
-
+  /* set PIO0.27 and PIO0.28 to I2C0 SDA and SCK */
+  /* function to 01 on both SDA and SCK. */
+  LPC_PINCON->PINSEL1 &= ~0x03C00000; //P0.27 - SDA.
+  LPC_PINCON->PINSEL1 |= 0x01400000;	//P0.28 - SCK.
 
-
+	//                   подтверждение     Флаг           флаг        разрешения 
+  /*сброс флагоф          флага    прерывания I2C      старта      интерфейса I2C    */
+  LPC_I2C0->CONCLR = I2CONCLR_AAC | I2CONCLR_SIC | I2CONCLR_STAC | I2CONCLR_I2ENC;   // установка микроконтроллера в режим мастера 
 
-   
-
-
+  /*--- Reset registers ---*/
+  LPC_I2C0->SCLL   = I2SCLL_SCLL; // - счетчик scl low time period
+  LPC_I2C0->SCLH   = I2SCLH_SCLH; // - счетчик scl high time period
+  LPC_I2C0->CONSET = I2CONSET_I2EN; //включение интерфейса I2C.
+  //////////////////////////////////////////////////////////
+  //////////////////////////////////////////////////////////
 
 
 
     /////////////////////////////////////////////////////
     /////////////////инициализация ног///////////////////
     /////////////////////////////////////////////////////
+    
+    /////////////////////////////////////////////////////
     Gyro.PinRegOld  = 0xffffffff;
     Gyro.PinReg     = 0;        // всЁ выключенно
     PinCheng();
-
+    /////////////////////////////////////////////////////
 
     /////////////////////////////////////////////////////
     //////////////отладочный светодиод///////////////////
     /////////////////////////////////////////////////////
-    LPC_PINCON->PINSEL0 = (0x00<<28);         // а нужно, ведь по умолчаниб у них 0 функция. попробоввать без них потом убрать
+    LPC_PINCON->PINSEL0 = (0x00<<28);   // а нужно, ведь по умолчаниб у них 0 функция. попробоввать без них потом убрать
     LPC_PINCON->PINMODE0 = (0x3<<28);
     LPC_GPIO1->FIODIR   |= (1<<30);
     /////////////////////////////////////////////////////
@@ -209,14 +231,14 @@
     /////////////////////////////////////////////////////
     ////////////////управление уартом////////////////////
     /////////////////////////////////////////////////////
-    LPC_GPIO2->FIODIR   |= (1<<7);
+    LPC_GPIO2->FIODIR   |= (1<<7);//направление ноги uart enable
     /////////////////////////////////////////////////////
     /////////////////////////////////////////////////////
 
 
 
     /////////////////////////////////////////////////////
-    ////////////////?????????????????////////////////////
+    ///////////////////////поджиг////////////////////////
     /////////////////////////////////////////////////////
     LPC_PINCON->PINSEL0 &= ~(3<<8);       //e. P0.4 is GPIO pin (запись ( 00 ) в 9:8 бит PISEL0    выбор P0.4 как GPIO)
     LPC_PINCON->PINMODE0 |= (3<<8);       //e. P0.4 is GPIO pin (запись ( 11 ) в 9:8 бит PINMODE0  "для включения подтягивающего резистора")
@@ -234,8 +256,8 @@
     LPC_GPIO1->FIODIR    |= (1<<25);        //e. P0.5 is output   (запись ( 1 ) в  5  бит FIODIR    выбор P0.5 как выход)
     LPC_GPIO1->FIOCLR    |= (1<<25);
     //////////////////////////////////////////////////////
-    /////////////////////вибро 2/////////////////////////
-    /////////////////////////////////////////////////////
+    //////////////////////вибро 2/////////////////////////
+    //////////////////////////////////////////////////////
     LPC_PINCON->PINSEL3   = (0x00<<24);       //e. P1.28 is GPIO pin
     LPC_PINCON->PINMODE3 |= (3<<24);      //e. P1.28 is GPIO pin (запись ( 11 ) в бит PINMODE0  "для включения подтягивающего резистора")
     LPC_GPIO1->FIODIR    |= (1<<28);        //e. P1.28 is output   (запись ( 1 ) в  5  бит FIODIR    выбор P0.5 как выход)
@@ -256,20 +278,16 @@
     ///////////////////////////////////////////////////////
 
 
-
-
-
     ///////////////////////////////////////////////////////
     ///////////////////////////////////////////////////////
-    ///инициализация таймеров///
-    ///    9 и 100 кГц       ///
-    ////////////////////////////
-    init_timer(TIME_INTERVAL ); //Timer 1: CCLK / 7812 = 12800.819Hz; Vibro: Timer1/32 = 400.025Hz; 10ms???
+    ///////////////////включение таймеров//////////////////
+    ///////////////////////////////////////////////////////    
     enable_timer1();
-    Init_TIM2();				//Timer 2: CCLK / 4 / 250 = 100kHz
     enable_timer2();
-
-    LPC_GPIO0->FIOCLR = (1<<5);/////////////??????????????????????????
+    ///////////////////////////////////////////////////////
+    
+    //////////////////////////////////////////////////////////////////
+    // LPC_GPIO0->FIOCLR = (1<<5);/////////////отключение поджига
 }