fork

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
201:76f4123bf22a
Parent:
197:7a05523bf588
Child:
202:c03b7b128e11
--- a/SPI.c	Wed Oct 19 10:55:05 2016 +0000
+++ b/SPI.c	Wed Nov 02 14:05:24 2016 +0000
@@ -10,7 +10,7 @@
 int AD_MAX=0;
 int k=0,l=0,r=0,n=0;//счетчики для регулировки периметра
 int flagmod=0,Bdelta;
-int start=10;
+int start=1;
 int dispersion=0,side=1,tempstrafe=15000;
 unsigned int Temp_ADC_2;
 unsigned int Temp_ADC_3;
@@ -76,7 +76,7 @@
 void  PLCRegul(void)
 {
  
- if (CountV64 == 0) 
+ if (CountV64 == 63) 
         {
           for (int i = 0; i < 32; i++ )
                 {
@@ -87,17 +87,15 @@
                 	SinMns+=  BuffADC_64Point[i];
                 }
         ADCDIF = SinPls - SinMns;    
-      //  Spi.DAC_B-=ADCDIF>>6;
-        
-          if(ADCDIF>0) Spi.DAC_B-=3;
-          else Spi.DAC_B+=3;
-          
+  	
+       /* if(ADCDIF>0) Spi.DAC_B-=3;
+        else Spi.DAC_B+=3;*/
+        Spi.DAC_B -= ADCDIF>>7;
         if      ( Spi.DAC_B < 15300 )	Spi.DAC_B = 32000;            //проверка на переваливание за границу.  
         else if ( Spi.DAC_B > 53000 ) 	Spi.DAC_B = 32000;
-/*
-          sprintf((Time),"%d %d %d %d %d \r\n", SinPls, SinMns, ADCDIF, ADCDIF>>5, Spi.DAC_B);//выдаем в терминал для постройки граффика регулировки периметра.
-          WriteCon(Time);
-          */
+
+      /*sprintf((Time),"%d %d %d %d %d \r\n", SinPls, SinMns, Gyro.Start, Gyro.Termo, Spi.DAC_B);//выдаем в терминал для постройки граффика регулировки периметра.
+          WriteCon(Time);*/
    		SinPls=0;
    		SinMns=0;
         }
@@ -138,13 +136,14 @@
 }
 
 void SPI_Exchange(void)  // новая функция чтения, в нецй не должно быть ничего лишнего
-{
+{ 
     unsigned int DummySPI;
-    
+  /*  
+    if(Gyro.Start>2000) DummySPI = LPC_SSP0->DR;*/
     //unsigned int ADC5Dif;
     
     ADC5New = LPC_SSP0->DR;// Чтение АЦП
-   // Spi.ADC5_Accum += LPC_SSP0->DR;
+  //Spi.ADC5_Accum += LPC_SSP0->DR;
     Spi.ADC4_Accum += LPC_SSP0->DR;
     Spi.ADC3_Accum += LPC_SSP0->DR;
     Spi.ADC2_Accum += LPC_SSP0->DR;
@@ -152,13 +151,6 @@
     Spi.ADC5_Accum += ADC5New;	
    
        
-   // ADC5Dif = (ADC5New) - (ADC5Old);
-   // ADC5Old=ADC5New; 
-
-     /*    
-sprintf((Time)," %d\r\n", (Buff_Restored_Mod[CountV64]));
-WriteCon(Time);
-   */
     while (LPC_SSP0->SR & RX_SSP_notEMPT) 	{
     DummySPI = LPC_SSP0->DR;   //если буфер SPI не пуст.//очистить буфер.
     }
@@ -176,54 +168,10 @@
         Spi.ADC4_Accum  = 0;
         Spi.ADC5_Accum  = 0;
         Spi.ADC_NewData = 1;
-   
     }
-   
- 
-
-
         BuffADC_64Point[CountV64]=ADC5New;
         Buff_ADC_5[CountV255] = (0x7fff-ADC5New)<<2;
         PLCRegul();
-
-
-
-/*
-        PulseADC_16Point += Buff_ADC_5[CountV255];
-        PulseADC_16Point -= Buff_ADC_5[(CountV255-16)& 0xff];                    			// заполнение буфера накопленых приращений за 16 тактов
-        BuffADC_16Point[CountV64] = (Pulse_16Point);
-
-        PulseADC_32Point +=  Buff_ADC_5[CountV255];
-        PulseADC_32Point -=  Buff_ADC_5[(CountV255-32)& 0xff ];  								// заполнение буфера накопленых приращений за 32 тактов
-        BuffADC_32Point[CountV64] = (PulseADC_32Point );
-  
-        PulseADC_32PointD +=  Buff_ADC_5[CountV255];
-        PulseADC_32PointD -=  Buff_ADC_5[(CountV255-32)& 0xff];									// заполнение буфера накопленых приращений за 32 тактов Двойныз
-        PulseADC_32PointD +=  Buff_ADC_5[(CountV255-48)& 0xff];									//
-        PulseADC_32PointD -=  Buff_ADC_5[(CountV255-64)& 0xff];									// 
-        BuffADC_32PointD[CountV64] = PulseADC_32PointD ;    
-    */
-       /* PulseADC_64Point +=  (Buff_ADC_5[CountV255]);
-        PulseADC_64Point -=  Buff_ADC_5[(CountV255-64) & 0xff];  								// заполнение буфера накопленых приращений за два 64 тактов
-        BuffADC_64Point[CountV64] = (PulseADC_64Point);*/
-        //ADCDIF +=  BuffADC_64Point[CountV64];
-        /// Buff_Restored_Mod[CountV64] = BuffADC_32PointD[CountV64] - BuffADC_64Point[CountV64];
-       
-       /* if(ADC5Old>3)
-        {
-        sprintf((Time),"%d %d \r\n",  BuffADC_64Point[CountV64], Buff_Restored_Mod[CountV64]);
-   		WriteCon(Time);
-   		ADC5Old=0;
-   		}
-   		else ADC5Old++;
-        */
- //   BackLightOFF
-     
-       // ADCDIF +=  BuffADC_64Point[CountV64]/*>>5*/;
-    /* sprintf((Time),"%d %d\r\n", ADC5New, PulseADC_64Point);
-   		WriteCon(Time);*/
-
-
 }
 
 void ShowMod(void)//технологическая функция для просмотра в ориджине мод на всем диапазпне цап