123

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
48:8697dfe679b9
Parent:
47:d902ef6f7564
Child:
49:53277d871197
--- a/main.c	Wed Feb 10 14:06:57 2016 +0000
+++ b/main.c	Wed Feb 10 15:58:16 2016 +0000
@@ -40,33 +40,66 @@
 unsigned int  secPuls,CountBI,CmmandIn,tt,th;
 
 unsigned int paramV;
-void Led_init()
+
+
+void Init_Pin()
 {
-    LPC_PINCON->PINSEL0 = (0x00<<28);
-    LPC_GPIO1->FIODIR   = (0x1<<30);
-    LPC_PINCON->PINMODE0 = (0x3<<28);
-    // LPC_GPIO1->FIOSET = (0x0<<30);
-    // LPC_GPIO0->FIOSET = (1<<4);
+
+
+	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);
+
+
+
+
+
+
+
 }
 
+
+
+
 int flag=0,  TIME=0,t=0, Sec=0,tmpSec=0,SEC=0, mSec=0;
 int tempsec=0;
 float DACF, K_DAC;
 
-void Led_Blink()
-{
-    if (flag == 0) {
-        LPC_GPIO1->FIOSET = (0x1<<30);
-        flag=1;
-    } else {
-        flag =0;
-        LPC_GPIO1->FIOCLR = (0x01<<30);
-    }
-}
+
+
 
 
 int main (void)
 {
+
+
+
     Gyro.SOC_Out=0xDD;		
     Gyro.Firmware_Version	=0x15; //версия программы
     Gyro.GLD_Serial 		= 0x20; //серийный номер
@@ -78,7 +111,6 @@
     K_DAC=0.8;
 
 
-
     Gyro.Discharg = 0x7;  // инициализация время поджига    3 сек  (в событии 1HZ)
     Gyro.BackLight=0x3ff;// инициализация время подсветки 10 сек  (в событии 1HZ)
     secPuls =0;
@@ -89,58 +121,23 @@
     Spi.DAC_B = 0x7fff;
     //инициализация
     SystemInit1();  // Инициализация контроллера: установка тактовых частот
-    Led_init();
+ 
+ 
+    Init_Pin();
 
     ///*
-    //Конфигурирование сигнала поджига
-    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 как выход)
-    LightUpON		//e. P0.4 is output   (запись ( 1 ) в  5  бит CLR       устанавливаем на P0.4 низкий уровень сигнала)
-    /*
-    LPC_PINCON->PINSEL0 &= ~(3<<10);		//e. P0.4 is GPIO pin (запись ( 00 ) в 9:8 бит PISEL0    выбор P0.4 как GPIO)
-    LPC_PINCON->PINMODE0 |= (3<<10);		//e. P0.4 is GPIO pin (запись ( 11 ) в 9:8 бит PINMODE0  "для включения подтягивающего резистора")
-    LPC_GPIO0->FIODIR   |= (1<<5);		//e. P0.4 is output   (запись ( 1 ) в  5  бит FIODIR    выбор P0.4 как выход)
-    LPC_GPIO0->FIOCLR   |= (1<<5);		//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);
-//  init_timer(TIME_INTERVAL ); // 10ms
-// enable_timer1();
-///иНИциализация подсветки
-    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);
 
 
 
-   	LPC_GPIO2->FIODIR    |= (1<<7);		
-	TXOff;
+
+
+
 
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    /*
-      //конфигурирование сигнала поджига оторваная нога (поджиг на 80 ноге вместо 81)
-      LPC_PINCON->PINSEL0   = (0x00<<10);		//e. P0.5 is GPIO pin (запись ( 00 ) в 11:10 бит PISEL0    выбор P0.5 как GPIO)
-      LPC_PINCON->PINMODE0 |= (3<<10);		//e. P0.5 is GPIO pin (запись ( 11 ) в 11:10 бит PINMODE0  "для включения подтягивающего резистора")
-      LPC_GPIO0->FIODIR    |= (1<<5);		//e. P0.5 is output   (запись ( 1 ) в  5  бит FIODIR    выбор P0.5 как выход)
-      LPC_GPIO0->FIOCLR    |= (1<<5);		//e. P0.5 is output   (запись ( 1 ) в  5  бит CLR       устанавливаем на P0.5 низкий уровень сигнала)
-    	*/
+
+
+
+
     DMA_Init();               // Инициализация DMA
     FlashDMA_Init(); 		  // Загрузка параметров с флэш
 
@@ -156,10 +153,7 @@
     IntLatch_Init();		  // инициализация внутренней защелки.
     ExtLatch_Init();		  // инициализация внешней защелки.
 
-//----------------debug-------------------------
-    //LPC_GPIO2->FIODIR = 0x5C;		// P2.0...P2.7 defined as Outputs
-    //LPC_GPIO2->FIOCLR = 0x5C;		// turn off all the LEDs
-//----------------debug-------------------------
+
 
 
 
@@ -228,6 +222,8 @@
         Concol ();				// Проврка 0 консоли  (вход и выход)
         Concol1 ();		        // Проврка 0 консоли  (вход и выход)
         if (OutBufConCount)  OutBufConCount--;
+
+
         if (ReadCon (Time)) {
             if (Time[0] == 'h') { // если ввели буквц h то выдать подсказку. сделанно через принф ОЧЕНЬ плохо в работе не использовать
                 sprintf(Time,"\r\nCompiled: %s %s.",__DATE__,  __TIME__ );                 //Подготовка даты и времени компиляции
@@ -237,16 +233,18 @@
         
             }
         
-        	if (Time[0] == 'L'){Gyro.PinReg  |=  PinRegBitTXE; WriteCon("\n\r On");}
-        	if (Time[0] == 'l'){Gyro.PinReg  &=  ~PinRegBitTXE; WriteCon("\n\r Off");}
+        	if (Time[0] == 'L'){Gyro.PinReg  |=  PinRegBitTXE; WriteCon("\n\r On");}	// времееено включения драйвера
+        	if (Time[0] == 'l'){Gyro.PinReg  &=  ~(PinRegBitTXE); WriteCon("\n\r Off");}
         
+  
+  
+  
+  
         }
    			
         if (OutBufCon1Count)  OutBufCon1Count--;
         if (Event1Hz)	{// событие раз в 1 Гц
-   
-            Clock1Hz++;
-
+	           Clock1Hz++;
 //============================= блок управления поджигом, сделанно через сдвиг======================
             if (Gyro.Discharg) {	//Проверка поджига
                 if (Gyro.Discharg & 0x01) Gyro.PinReg |= PinRegBitD;
@@ -258,13 +256,7 @@
                 if (Gyro.BackLight & 0x01) Gyro.PinReg |= PinRegBitL;
                 else Gyro.PinReg &= ~PinRegBitL;
                 Gyro.BackLight = Gyro.BackLight >> 1;
-                
-                
-                
-                
-               
             }
-
            // CMD_Rate();
             WriteCon(".");				//Так просто выдавать в секунду 1 байт ,что гирос жив
   /*