fork

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
50:0e3d47f18a50
Parent:
49:53277d871197
Child:
51:81f47b817071
--- a/main.c	Thu Feb 11 02:55:35 2016 +0000
+++ b/main.c	Thu Feb 11 14:36:33 2016 +0000
@@ -42,48 +42,8 @@
 unsigned int paramV;
 
 
-void Init_Pin()
-{
 
 
-	Gyro.PinRegOld	= 0xffffffff;
-	Gyro.PinReg		= 0; 		// всЁ выключенно
-	PinCheng();	
-
-
-
-			    //LPC_PINCON->PINSEL0 = (0x00<<28); 		// а нужно, ведь по умолчаниб у них 0 функция. попробоввать без них потом убрать
-    			//LPC_PINCON->PINMODE0 = (0x3<<28);
-    LPC_GPIO1->FIODIR   |= (1<<30);
-   	LPC_GPIO2->FIODIR   |= (1<<7);							
-			    //Конфигурирование сигнала поджига
-			    //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  "для включения подтягивающего резистора")
-    LPC_GPIO0->FIODIR   |= (1<<4);		//e. P0.4 is output   (запись ( 1 ) в  5  бит FIODIR    выбор P0.4 как выход)
-										//e. P0.4 is output   (запись ( 1 ) в  5  бит CLR       устанавливаем на P0.4 низкий уровень сигнала)
-    			//LPC_PINCON->PINSEL3   = (0x00<<18);		//e. P1.25 is GPIO pin
-    			//LPC_PINCON->PINMODE3 |= (3<<18);		//e. P1.25  (включениe подтягивающего резистора")
-    LPC_GPIO1->FIODIR    |= (1<<25);		//e. P0.5 is output   (запись ( 1 ) в  5  бит FIODIR    выбор P0.5 как выход)
-    LPC_GPIO1->FIOCLR    |= (1<<25);
-
-    			//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 как выход)
-    LPC_GPIO1->FIOCLR    |= (1<<28);
-///иНИциализация подсветки
- 				//  LPC_PINCON->PINSEL2   = (0x00<<24);		//e. P2.12 is GPIO pin
-    			//LPC_PINCON->PINMODE3 |= (3<<24);		//e. P1.28 is GPIO pin (запись ( 11 ) в бит PINMODE0  "для включения подтягивающего резистора")
-    LPC_GPIO2->FIODIR    |= (1<<12);		//e. P1.28 is output   (запись ( 1 ) в  5  бит FIODIR    выбор P0.5 как выход)
-    LPC_GPIO2->FIOCLR    |= (1<<12);
-
-
-
-
-
-
-
-}
-
 
 
 
@@ -138,7 +98,7 @@
 
 
 
-    DMA_Init();               // Инициализация DMA
+    //DMA_Init();               // Инициализация DMA не используем
     FlashDMA_Init(); 		  // Загрузка параметров с флэш
 
     SystemCoreClockUpdate1(); // расчет тактовой частоты процессора перед инициализацией UART - 100MHz
@@ -158,7 +118,7 @@
 
 
     LoadFlashParam(FromFLASH); 	//загрузка параметров.
-    UART_DMA_Init();			    	//инициализация DMA для UART.
+    //UART_DMA_Init();			    	//инициализация DMA для UART.//не используем
     G_Photo_Init();				      //инициализация интерфейса I2C для фотодетектора.
     Out_G_photo(60, 60);        //запись в буфер мастера принятые от функции данные (60,60) и установка флага старта передачи и занятой шины.
 //  WDTInit();
@@ -190,6 +150,7 @@
     Time1Hz		= 0;
     Clock1Hz	= 0;
     Gyro.Discharg = StartDischarg;
+    Gyro.BackLight = StartBackLight;
 
     Pulse_8Point = 0;
     Pulse_16Point = 0;
@@ -218,7 +179,7 @@
 
 
 
-    do { //основной цикл.
+    while ( 1 ) { //основной цикл.
         Concol ();				// Проврка 0 консоли  (вход и выход)
         Concol1 ();		        // Проврка 0 консоли  (вход и выход)
         if (OutBufConCount)  OutBufConCount--;
@@ -244,21 +205,24 @@
    			
         if (OutBufCon1Count)  OutBufCon1Count--;
         if (Event1Hz)	{// событие раз в 1 Гц
-	           Clock1Hz++;
+        Event1Hz--;
+	    Clock1Hz++;
 //============================= блок управления поджигом, сделанно через сдвиг======================
             if (Gyro.Discharg) {	//Проверка поджига
+                Gyro.Discharg = Gyro.Discharg >> 1;
                 if (Gyro.Discharg & 0x01) Gyro.PinReg |= PinRegBitD;
                 else Gyro.PinReg &= ~PinRegBitD;
-                Gyro.Discharg = Gyro.Discharg >> 1;
+                
             }
 //============================= блок управления подсветкой, сделанно через сдвиг======================
             if (Gyro.BackLight) {	//Проверка подсветки
+            	Gyro.BackLight = Gyro.BackLight >> 1;
                 if (Gyro.BackLight & 0x01) Gyro.PinReg |= PinRegBitL;
                 else Gyro.PinReg &= ~PinRegBitL;
-                Gyro.BackLight = Gyro.BackLight >> 1;
+                
             }
            // CMD_Rate();
-            WriteCon(".");				//Так просто выдавать в секунду 1 байт ,что гирос жив
+         //   WriteCon(".");				//Так просто выдавать в секунду 1 байт ,что гирос жив
   /*
                 for (y = 0; y < 32; y++ ){
                 sprintf(Time,"  <%05d>  ",Buff_32Point[y]);
@@ -322,140 +286,8 @@
         // paramV=TakeParam(1);
 
 
-
-        if (0)				// временно отключил олгоритм Сергея
-            if (LPC_PWM1->IR & 0x0001) { // Если в регистре прерываний ШИМ1 (регистр PWM1IR) есть влаг прерывания совпадения счетчика с МАТСН (lim0 ?) то:
-
-                /*	ResetCS(ADC);					  	//prepare ADC for sampling
-                	SetDAC(DAC);
-                    LPC_GPIO2->FIOSET |= 0x0000004;			// turn on the LED
-                    LPC_GPIO2->FIOSET |= 0x0000004;			// turn on the LED
-                    LPC_GPIO2->FIOSET |= 0x0000004;			// turn on the LED
-                	SetCS(ADC);					    	//start ADC sampling
-                	ResetDAC(DAC);  	    			//start DAC prepearing for writing
-                */
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-                secPuls++;
-                tmpSec++;
-                mSec++;
-
-                i1++;
-                if(i1>10000)
-                    //if(CountV31>30)
-                {
-                    WriteCon(".");
-                    i1=0;
-                    /*
-                    SendToBuffStr("\n\r");
-                    //	if (Buff_ADC_1	[y] > 65535)SendToBuffStr(" 0 "); else SendToBuffStr(" 1 ");
-                    sprintf (BuffTemp,"<%05d> <%05d> <%05d> <%05d> <%05d>", Temp_AMP>>5,Temp_ADC_2>>5,Temp_ADC_3>>5,Temp_ADC_4>>5,Temp_ADC_5>>5);
-                    // sprintf (BuffTemp,"<%07d> <%07d> <%07d> <%07d> <%07d>", Spi.ADC1,Spi.ADC2,Spi.ADC3,Spi.ADC4,Spi.ADC5);
-                    	SendToBuffStr(BuffTemp);
-                    */
-                    /*
-                    WriteConByte (Gyro.T_Vib&0xff00);
-                    WriteConByte (Gyro.T_Vib&0x00ff);
-                    WriteConByte (Gyro.T_Vib);
-                    */
-                    /*
-
-                    for (y = 0; y < 32; y++ )
-                    			{
-
-                    		  	 WriteCon(BuffTemp);
-                    			}	WriteCon("\n\r");
-
-                    */
-                    /*
-                    Gyro.T_Vib=((7680000*16/Gyro.Frq)*4096);
-                             th=   Gyro.T_Vib&0xff00;
-                             tt=   Gyro.T_Vib&0x00ff;
-                                sprintf(BuffTemp,"<%07d  >",( (Gyro.T_Vib&0xff00)));
-                    						SendToBuffStr(BuffTemp);
-
-                    						sprintf(BuffTemp,"<%07d  >",( ( Gyro.T_Vib&0x00ff)));
-                    						SendToBuffStr(BuffTemp);
-
-                    						CuruAngleOld=CuruAngle;*/
-                    // Spi.ADC1=Spi.ADC1*0.000061;
-
-
-
-
-                    /*
-
-                       	sprintf(BuffTemp,"\n\r<%05d><%05d><%05d><%05d><%05d>",Spi.ADC1,Spi.ADC2,Spi.ADC3,Spi.ADC4,Spi.ADC5);
-                    SendToBuffStr(BuffTemp);
-
-                    */
-
-                    /*	sprintf(BuffTemp,"<%d>",(FrecTemp));
-                    	SendToBuffStr(BuffTemp);
-                    for (y = 0; y < 32; y++ )
-                    {
-                    sprintf(BuffTemp,"   <%07d>", (Buff_16PointD [y]-65535));
-                    SendToBuffStr(BuffTemp);
-                    }		*/
-
-                }
-
-
-
-
-
-
-
-
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-                LPC_GPIO2->FIOSET |= 0x0000004;		// turn on the LED
-
-
-                Curr_Cnt_Vib = LPC_QEI->POS;		// записать в переменную	Curr_Cnt_Vib текущее положение Энкодера.	(текущее количество импульсов)
-                Latch_Event(); //определение защелки
-
-                clc_Pulses(); // счетчик импульсов. RATE_REPER_OR_REFMEANDR или RATE_VIBRO_1
-
-
-                //ADC_Input();  // проверка флагов заполнения буфера и четение Thermo1, Thermo2, HF_out в масив  Input.ArrayIn[n].
-                //DAC_ADC_Exchange();//  проверка флагов заполнения буфера и зпись в ЦАПы.
-                ServiceTime();//секундный таймер.
-                clc_ThermoSensors();//расчет средней температуры за секунду
-                clc_HFO(); //расчет значения для передачи в контур ГВЧ(на цап).
-
-                clc_PLC();
-                //	clc_Dith_regulator();
-                clc_OutFreq_regulator();
-                Output.Str.WP_sin = clc_WP_sin();
-                contrl_GLD();
-                G_Photo_Exchange();
-                //  Output.Str.T_Vibro = paramV*48;
-
-
-                Line_1_Rcv();
-                decode_CMD();
-                transm_DAT();
-                //îòêëþ÷åíèå ïîäæèãà.
-
-
-//			data_Rdy &= ~RESET_PERIOD;
-
-
-                LPC_PWM1->IR = 0x0001;				 //e. clear interrupt flag
-                LPC_GPIO2->FIOCLR |= 0x0000004;		// turn off the LED
-//		WDTFeed();
-//SPI_Exchange();
-
-            }
-
-    }	while ( 1 );	    // main infinie loop
+        
+    }		    // main infinie loop
 }
 
 /******************************************************************************